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会等待邮件发送完成,那就不是异步了

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

猜你喜欢

转载自www.cnblogs.com/SHQHDMR/p/10052483.html
今日推荐