在win32的xampp下使用gmail的smtp模拟sendmail发邮件(转载)

xampp是一个优秀的服务器套件,支持包括win32在内的多个平台,使你可以轻松搭建一个php+mysql的环境出来。

最近我也安装了一个,免得改一点点代码都要上传到服务器上调试。
安装就非常简单,都是一路next的,不用重新启动就可以了。

xampp启动之后,感觉非常不错,马上装了一个wordpress上去,这时出现个问题,就是wordpress的发邮件功能无法使用。
由于linux下有sendmail函数可以实现发邮件,但是win32下就要使用smtp来发。xampp自带mercury的虽然可以用来建一个smtp服务器,但是操作起来太麻烦了,还不如使用sendmail.exe。

sendmail.exe其实是一个在win32下模拟sendmail函数的软件,在xampp里已经自带了。你在里面设置后你的smtp服务器之后,就可以伪装成sendmail来发邮件了。

可惜的是,sendmail.exe不支持gmail这种必须通过ssl连接smtp服务器,害得我弄了好久才明白。如果用126这些smtp服务器,很轻松就成功的,一换成gmail的就超时甚至卡死……

后来,我终于弄成功了,太高兴了,写出来和大家分享吧。

首先正确安装xampp,并登录你的gmail打开pop功能。
去http://www.stunnel.org/下载一个stunnel回来,最新版本是3.24。这是一个通用的SSL代理。
安装好后,打开配置文件,默认在这里C:\Program Files\stunnel\stunnel.conf,修改成这样:
Java代码
  1. cert = stunnel.pem  
  2. socket = l:TCP_NODELAY=1  
  3. socket = r:TCP_NODELAY=1  
  4. client = yes  
  5. [smtpg]  
  6. accept = localhost:25  
  7. connect = smtp.gmail.com:465  
cert = stunnel.pem socket = l:TCP_NODELAY=1 socket = r:TCP_NODELAY=1 client = yes [smtpg] accept = localhost:25 connect = smtp.gmail.com:465


然后保存,打开你的sendmail配置文件,一般在c:\xampp\sendmail\sendmail.ini这里,修改成这样:
Java代码
  1. [sendmail]  
  2. smtp_server=localhost  
  3. default_domain=gmail.com  
  4. auth_username=你的gmail邮箱,包括@gmail.com部分  
  5. auth_password=你的gmail邮箱密码  
  6. force_sender=你的gmail邮箱,包括@gmail.com部分  
[sendmail] smtp_server=localhost default_domain=gmail.com auth_username=你的gmail邮箱,包括@gmail.com部分 auth_password=你的gmail邮箱密码 force_sender=你的gmail邮箱,包括@gmail.com部分


最后,配置你的php.ini文件,xampp的默认在这里:C:\xampp\apache\bin\php.ini,找到[mail function]和[SQL]中间的部分,改成:
Java代码
  1. sendmail_path = "C:\xampp\sendmail\sendmail.exe -t" 
转自:
http://zcdxzsz.javaeye.com/blog/254098
原文地址:https://www.cnblogs.com/johnwonder/p/1913559.html