phpmailer发送邮件出现错误:stream_socket_enable_crypto(): SSL operation failed with code 1.

如果开了调试,调试进去会看到错误提示:

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('[email protected]', 'name');

你可能感兴趣的:(问题解决)