PHPMailer出现SMTP connect() failed.

落伍老站长的情怀分类信息站点上线了,但是配置邮件发信的时候报错

经过一段时间的排错,发现以下问题

很可能是端口问题,最好把$mailer->SMTPSecure和$mailer->Port分别设置为ssl与465或者tls与587,否则某些浏览器不接受不安全的链接,导致$mailer->send()时非常慢,从而导致SMTP connect() failed(我最初就是没有设置$mailer->SMTPSecure和$mailer->Port,然后在某些主机上发不出邮件)

顺便介绍一个不规范的异步处理思路:

当主机上没有redis和队列组件时,可以把发送邮件单独些写成一个脚本,并由system()命令调用:

system("php sendMail.php '" . $parameters . "' >/dev/null &");

传入我们想要参入,如邮箱地址、标题、内容等

一定不要忘记最后的“&”,否则不在系统后台运行,php会等待邮件发送完成,那就不是异步了

这种方法可以作为异步的临时方案

原文链接:,转发请注明来源落伍老站长!

发表评论