2017-02-02 90 views
-1

我使用PhpMailer通過我的PHP代碼發送郵件,但它給了我這個證書驗證錯誤,雖然它在我更改主機名時開始發送郵件,但錯誤依然存在。PhpMailer給出證書驗證錯誤

+0

您的圖像不顯示證書錯誤。你可以告訴我們的代碼(刪除地址等),以及任何錯誤消息,所以我們可以進一步幫助。我還建議刪除該圖片,因爲它沒有什麼幫助,我們都可以在網址參數中看到您的個人電子郵件地址和電話號碼。 – Kitson88

+0

不要發佈文本錯誤的圖像 - 只是發佈顯示實際錯誤的文本。該圖像還包含一個易於解碼的密碼,因此我刪除了該圖像並建議您更改密碼。 – Synchro

回答

1

我有這個問題,唯一的解決方案(此刻)我發現是禁用一些SMTP選項。如果PHP版本是5.6或更高版本(或者只是5.6,不能準確記住),那麼新的PHPMailer似乎要求認證。我用來解決它的代碼是:

$mail = new \PHPMailer(true); 
$mail->CharSet = 'UTF-8'; 
$mail->isHTML(); 
$mail->Host = ...//my config 
$mail->Port = ...//my port 
$mail->isSMTP(); 
if (version_compare(PHP_VERSION, '5.6.0') >= 0) { 
    $mail->SMTPOptions = array(
     'ssl' => array(
      'verify_peer' => false, 
      'verify_peer_name' => false, 
      'allow_self_signed' => true, 
     ), 
    ); 
} 

我希望這可以幫助你。