购买的PHP虚拟主机,往往不支持PHP的mail函数发邮件,
原因可能是默认的mail函数需要使用sendmail程序
(linux下面默认是/usr/sbin/sendmail,但商用主机可能删除该程序),
好像还需要主机为DNS配置MX记录等,否则发的邮件也会被很多服务器拒绝。
Windows主机更是一般不配置sendmail功能。
(可能大家都不希望有用户拿一小段PHP程序滥发垃圾邮件,导致主机整体受损吧。)
这样需直接使用邮件服务器的功能来发邮件了。
SMTP服务器一般都接受来自外部的命令的,
否则不能支持邮件客户端(例如Outlook)的工作。
例如,163邮箱的SMTP服务器是:
smtp.163.com
端口:25
(以前好像163上还有说明,现在找不到了)
这样,通过对端口的直接命令交互,可以发邮件的。不过需要有帐号。
这个帐号就是你的邮件帐号,也就是你的发件人的身份。
知道了这些,可以使用PHPMailer包来发邮件了。该包已经是Apache Extras的官方成分了,所以应该比较稳定:
下载这个包,解压到自己的空间中,就可以使用了。
需要说明的是,最新的5.2.1版本中,好像少了一个文件,致使测试程序不能正常工作。
从网上找一个
class.html2text.inc.php
找了一个放到同级目录下即可
测试程序在test_script/下面,很容易用的,填个表,就可以了。
看看index.php的代码,容易知道调用方法。
https://wap.sciencenet.cn/blog-461456-540292.html
上一篇:
PHPMailer:PHP发邮件下一篇:
谁在抱怨社会(体制)