/ 中存储网

WINDOWS PHP环境使用sendmail实现邮件发送功能

2014-07-13 20:07:44 来源:中存储网
前一段时间学习PHP过程中,用到了自动发送邮件的功能,写着写着代码,发现不能发送邮件,于是上网找答案,还是没有解决我的问题。还是自己尝试着去做吧!

首先,我现在是在开发的阶段,并没有什么服务器上传,就一个能够上网的电脑,写一个简单的来试试。

先去下载一个SENDMAIL在WINDOWS下的软件,随便放在哪里,自己知道就好,不要用中文。我的是放在了我的PHP5中了,目录大家可以看到的。

PHP环境下用sendmail实现发送邮件功能

接着就是配置了。

先来看看PHP.ini的配置。

sendmail_from = me@example.com

; For Unix only.  You may supply arguments
as well (default: "sendmail -t -i").

sendmail_path = "D:PHP5sendmailsendmail.exe
-t"

; Force the addition of the specified parameters to
be passed as extra parameters

; to the sendmail binary. These parameters will
always replace the value of

; the 5th parameter to mail(), even in safe
mode.

;mail.force_extra_parameters =

其实,上面的配置中就那么么一句是有用的,其它的关掉就可以了。

sendmail_path的用来指定sendmail.exe的路径,就是上面看到的,‘-t’写上就好,不用管。

接着是sendmail的配置

smtp_server=smtp服务器地址

auth_username=邮箱登录名

auth_password=邮箱密码

force_sender=发件人地址全写

这里由于没有自己的STMP服务器,就得用别人的,经测试可以用QQ和163的。例如QQ的smtp_server地址为:smtp.qq.com。

auth_username就是登陆名,如果用QQ的就是QQ号码。

auth_password邮箱密码。

force_sender这是其实可以不填。

接着到你用的邮箱里面设置一下,将SMTP功能打开就OK了。

下面是测试用的PHP代码:

<?php

$now = date("Y-m-d h:i:s");  

$from_name = '测试者';  

$headers = "From: $from_name <$from_email>";
 

$body = "测试邮件!";  

$subject = "[$now] 测试邮件";  

if (mail($to, $subject, $body, $headers)) {