如果开了调试,调试进去会看到错误提示:
smtp_code:"stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:\nerror:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed"
最终提示是:Could not connect to SMTP host
原因是升到php5.6后默认开启验证
添加参数,去掉验证:
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true,
)
)
如果是使用163邮箱发送邮件,有可能会发送不出去,是因为163邮箱开启了反垃圾邮件政策。
我的解决办法是,抄送一份给发送邮件。
$phpmailer->addCC('xxx@163.com', 'name');