在windows下配置sendmail服务器

        终于还是成功了,差点没放弃。由于之前在做一个异常处理的时候用到了邮件提醒功能,所以顺便研究了一下在php下如何发送邮件。第一次摸索,折腾了整整一天,最后还是成功了。现做个经历总结,方便大家交流,初次接触,如有不对的地方欢迎指出。

        那么如何在PHP环境下发送邮件呢,这里介绍一个比较常用的方法,就是使用函数是mail()。

关于mail函数的使用方法大家可以查看官方手册: http://php.net/manual/zh/function.mail.php,这里我主要给大家介绍一下相关的服务器配置和sendmail搭建过程。

准备:

1、开发环境:WAMP(Windows+Apache+MySql+PHP),建议使用phpStudy集成环境。

2、sendmail下载:

        下载地址:https://www.glob.com.au/sendmail/

        备用地址:http://pan.baidu.com/s/1eRC43aM ( 密码:6hci )

3、准备好一个QQ邮箱

为什么要使用QQ邮箱?

        这是我踩的一个坑,我一开始是用126邮箱和163邮箱来做测试的(126和163是一家的)。我按部就班地把一切都配置好了,但就是一直发送不成功,而且还没有报错,这就真让我抓狂了。最后,是一样的配置我换了QQ邮箱才可以成功发送邮件,其中还有一个坑,下面再说。

当然,你也可以试一下使用其它的邮件服务器。

当然,如果你不想使用第三方的邮件,你还可以尝试自己搭建一个邮件服务器,在这里我就不多介绍了。

好,下面开始:

设置QQ邮箱

1、登录你的QQ

2、点击”设置“-”帐户“,找到”POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务“这一项,如图:

3、点击开启”IMAP/SMTP服务“

配置sendmail

1、把下载好的sendmail

把sendmail压缩解压到一个文件夹(随便哪个文件夹都行,我的是放在E:\phpStudy\sendmail)

2、打开sendmail.ini配置文件,修改配置如下:

smtp_server=smtp.qq.com

smtp_port=25   ;默认是25,默认就行

auth_username=27378xxxx@qq.com  ;这里写你的QQ邮箱

auth_password=*************   ; 注意,这就是我想说的第二个坑。记住!这里填写的不是你邮箱的密码,而是授权码!授权码也是在QQ设置里面可以获得,这里我就不截图了

force_sender=27378xxxx@qq.com  ;同样,这里也是写你的QQ邮箱

好了,到这sendmail配置完成,除了以上配置,在sendmail.ini文件里其它的配置项你都可以用分号";"注释掉。

配置php.ini

打开php的配置文件php.ini搜索"[mail function]",配置如下:

sendmail_path = "E:\phpStudy\sendmail\sendmail.exe -t -i"  ;你的sendmail安装的位置

在[mail function]区域内其它的都注释掉,就配置上面那一行就行。

至此,配置结束。

重启Apache。

测试

测试代码如下:

$message="Line 1...\nLine 2...\nLine 3...";

$message= wordwrap($message,70);

$r= mail('28460xxxx@qq.com','My Subject',$message);

var_dump($r);

附上成功截图:

《完》

推荐阅读更多精彩内容