帕兰本地开发wordpress项目一直都是用XAMPP,它是一个很棒的东西。不过默认情况下,它不支持邮件发送功能,虽然它也内置邮件服务器Mercury,但是设置起来太麻烦。还好,XAMPP还包含一个模拟sendmail函数的软件。我们只需要轻松配置,即可使用外部SMTP邮件服务器实现在本地发送邮件。
注: 我使用的XAMPP是1.7.4, 路径为D:\xampp,外部邮箱我们用Gmail。
1. 修改php.ini配置文件
打开 D:\xampp\php\php.ini, 搜索找到[mail function], 按下面的进行修改,如果每行开头有;分号注释的,记得把分号去掉:
SMTP = smtp.gmail.com
smtp_port = 25
sendmail_from = 你的Gmail邮箱地址
sendmail_path = “\”D:\xampp\sendmail\sendmail.exe\” -t”
2. 修改sendmain.ini配置文件
打开D:\xampp\sendmail\sendmail.ini, 按如下设置修改相应的配置字段,同样的,记得去除分号注释。
smtp_server=localhost
smtp_port=25
default_domain=gmail.com
error_logfile=error.log
debug_logfile=debug.log
auth_username=你的Gmail邮箱地址
auth_password=你的Gmail邮箱密码
force_sender=你的Gmail邮箱地址
其中error_logfile和debug_logfile分别用来记录错误日志和调试日志。不需要的朋友可以去除或注释掉,建议是先开启,如果发送不成功,方便查看是什么问题,确定可以发送了,再根据你的需要选择是否开启。
如果是其它常用的外部邮件服务器,到一步,再重启一下Apache其实就已经可以了。但Gmail使用SSL来连接SMTP邮件服务器,而xampp里的sendmail程序不支持ssl连接。如果你使用的是其它邮箱,且不需要SSL来连接SMTP,那把smtp.gmail.com改成对应的SMTP服务器地址就好了。如果你和我一样,宁愿麻烦点也只用Gmail,继续下一步。
3. 为需要SSL连接的SMTP服务器安装SSL代理
下载安装一个SSL代理软件,我们这里使用http://www.stunnel.org/。
安装成功后,打开stunnel里面的stunnel.conf文件,找到下面的代码,并把前面的分号注释去掉。
[gmail-smtp]
client = yes
accept = 127.0.0.1:25
connect = smtp.gmail.com:465
然后,重启Apache,启动Stunnel。OK了。