PHPMailer 錯誤:OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed  

當使用PHPMailer來寄送email時,會出現OpenSSL Error messages,並且你也確定php的外掛extension=php_openssl.dll有開啟,還是不斷出現證書驗證失敗的訊息SSL3_GET_SERVER_CERTIFICATE:certificate verify failed,其實就是要將正確的CA證書導入才對,不過如果如果很難去導入或著說導入了還是出現此錯誤,你可以選擇強制信任的做法,在class.smtp.php的241行左右有個方法叫做:

    public function connect($host, $port = null, $timeout = 30, $options = array())

在該方法裡的第一行增加以下的程式碼

    if (count($options) == 0) {
       $options['ssl'] = array('verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true);
    }

這樣做可以強制信任所有SSL,也不免為一種解決方案!

, ,
創作者介紹

宇若彎彎

周宇若 發表在 痞客邦 PIXNET 留言(0) 人氣()