亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net
您需要 登录 才可以下载或查看,没有账号?立即注册
x
使用PHP+Sendmail协作来发送邮件需要三个条件:PHP环境 + Sendmai程序 +smtp服务器。这样做比直接调用PHP相关参数来发邮件的好处可能是比较耗资源的Socket连接都可以有sendmail来实现,而不必由PHP自己来实现,我实际比较过,确实速度要快很多。
首先需要一个Sendmail组件,XAMPP套件里就有一个。把整个SendMail文件夹拷贝到合适的目录下,例如”D:/SendMail/”
在php.ini中配置相应的sendmail参数:
[mail function]
; For Win32 only.
SMTP = smtp.163.com (如果同一台服务器上存在SMTP服务器,则可以保留localhost不变,否则,填写一个比较可靠的smtp服务器地址,例如163,gmail等)
smtp_port = 25 (如果服务器无需验证,则填写25端口;或者自架SMTP服务器,为了安全起见 ,另改一个通信端口号;或者使用启用ssl的smtp服务器,则填写465端口);
; For Win32 only.
sendmail_from = aa@163.com (貌似这个没什么具体作用?)
; For Unix only. You may supply arguments as well (default: “sendmail -t -i”).
sendmail_path =”D:/SendMail/sendmail.exe -t” (这里填写刚才sendmail文件夹放置的位置,文件夹下有一个sendmail.exe执行文件)
同样,在sendmail目录下的sendmail.ini文件里,也要配置相应的参数,除了上面“smtpserver=”和“smtpport=”外,还可能需要配置如下参数:
auth_username=
auth_password= (如果使用ssl方式的smtp服务器,需要填写这两个参数,分别把登录邮箱的用户名和密码设置进去就可以了) ;error_logfile=error.log
;debug_logfile=debug.log (如果需要输出调试信息,就需要把这两句前面的分号去掉,error.log里保存报错信息,debug.log里保存每一条发送记录)
这样配置后就可以直接使用PHP自带的mail()函数来发送邮件了。
重启Aapche后,使用php sendmail测试mail()功能
<?php
$now = date(“Y-m-d h:i:s”);
$from_name = ’测试寄件人’;
$from_email =
$headers = ’From: $from_name <$from_email>’;
$body = ’嗨, n 这是一封测试邮件来自 $from_name <$from_email>.’;
$subject = ’[$now] 测试邮件发送’;
if (mail($to, $subject, $body, $headers)) {
echo ”success!”;
} else {
echo ”fail…”;
}
?>
这样,Windows下使用php + sendmail配置就顺利完成了!
如果在discuz!论坛中,除了在后台页面启用“通过 PHP 函数的 sendmail 发送(推荐此方式)”外,只需要按本文的方式修改sendmail.ini相关参数,如是本机架设smtp服务器,则再启用smtp服务器就可以了。道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题!
如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服!
如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务! |