PHPMailer - OpenSSL Error

前端 未结 2 1188
无人及你
无人及你 2021-01-12 07:58

Based on the example that PHPMailer provides i have the script below,

date_default_timezone_set(\'Etc/UTC\');
require \'./PHPMailerAutoload.php\';
$mail = ne         


        
相关标签:
2条回答
  • 2021-01-12 08:35

    This is because you're running PHP 5.6 and it's verifying your certs, but your server is presenting invalid certs so it's failing. Both PHPMailer and PHP are correct in what they are doing - the code is not at fault. You can either fix your mail server, or do what it suggests in the troubleshooting guide, which is:

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

    And as the guide says, you should not do this unless you have to - it's compromising your security.

    0 讨论(0)
  • 2021-01-12 08:42

    I was experiencing the exact same error as in the original question (yes 4 years later), and was able to solve it by changing the following within class.smtp.php (in both /includes/classes and /admin/includes/classes if they exist -- otherwise only in the PHPMailer main directory).

    Change:

    STREAM_CRYPTO_METHOD_TLS_CLIENT
    

    to:

    STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
    

    It has to do with the updating of the TLS version in more recent PHP versions.

    Source: https://forums.oscommerce.com/topic/410367-phpmailer-tls-12/

    0 讨论(0)
提交回复
热议问题