Leo Code

主页 > PHP > PHPMailer 在 PHP 7 中出现的 SMTP connect() failed 错误

PHPMailer 在 PHP 7 中出现的 SMTP connect() failed 错误

今天在开发一个项目的时候,把环境从php5.5换成了php7,发现php7确实要比php5快出不少,但是同时也带来了一个比较头疼的问题,就是PHPMailer用QQ邮箱发送邮件失败,提示错误SMTP connect() failed,经过一番查阅资料,从国内是没找到,于是就开始找github的解释,终于找到了相关的说明。

这个问题是因为从php5.6以后加入了一些安全校验,这样一来在连接有SSL验证的服务器的话,可能就会产生这样的问题。

解决方法就是加入这样一段内容:

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);


参考链接:https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting