版本5.6.28,系统Windows 10,默认方式安装,以管理员身份启动(不然可能出现各种奇怪的问题).
注意,QQ邮箱和163邮箱开启smtp服务之后,都需要通过授权码而不是原始密码登录smtp,所以你必须先获取授权码,163邮箱的授权码点击页面上方设置,看左侧,有个“客户端授权密码”,然后自定义,QQ邮箱的授权码是随机生成的,获取方式是点击页面上方设置-账户,页面搜“生成授权码”。
开始配置,需要配置两个文件,这两个配置文件的语法规则一样,每行以;(英文分号)开头则表示注释。
1.php.ini。
用编辑器打开C:\xampp\php\php.ini,找到[mail function]部分,修改相应代码;
[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP=smtp.qq.com
; http://php.net/smtp-port
smtp_port=587
; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = xxxxxx@qq.com
; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = ""C:\xampp\sendmail\sendmail.exe" -t"
mail.add_x_header=On
2.sendmail.ini。
用编辑器打开C:\xampp\sendmail\senmail.ini,修改相应代码:
[sendmail]
smtp_server=smtp.qq.com
smtp_port=587
smtp_ssl=auto
default_domain=qq.com
error_logfile=error.log
auth_username=xxxxxx@qq.com
auth_password=ssssss
pop3_server=
pop3_username=
pop3_password=
force_sender=xxxxxx@qq.com
force_recipient=
hostname=
以上xxxxxx改为你的用户名,ssssss改为你的授权码
如果用的是163.com的邮箱,要把qq.com替换成163.com,端口号用465替换587
配置完成记得重启Apache服务器再测试(●'◡'●)
吐槽
php新手,网上资料真实五花八门,光配置这个邮件就花了超过大半天,各种尝试才成功,网上看到的资料没有一个完全靠谱的,我也是无语。。。
这个配置和网上流传的方法主要的不同在于sendmail_path的写法和对于SSL的支持,path尝试了各种写法,最后只发现""C:\xampp\sendmail\sendmail.exe" -t"这种没问题,对于SSL的支持,估计是新版本已经支持SSL,不需要再用SSL代理了,直接配置好端口就可以用了。