首頁  >  文章  >  後端開發  >  如何修復 PHPMailer 中的「SSL3_GET_SERVER_CERTIFICATE:憑證驗證失敗」錯誤?

如何修復 PHPMailer 中的「SSL3_GET_SERVER_CERTIFICATE:憑證驗證失敗」錯誤?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-26 09:49:30337瀏覽

How to Fix

PHPMailer 中SSL 憑證驗證失敗問題排查

PHPMailer 使用者在使用self 從伺服器發送電子郵件時可能會遇到「SSL3_ICATE:證書驗證失敗”錯誤- 簽署的證書。此問題是由於 PHP 5.6 中引入的 SSL 憑證驗證而引起的。

根本原因:

預設情況下,PHPMailer 會驗證 SSL 憑證以確保其真實性。當遇到自簽名憑證時,由於缺少適當的 CA(憑證授權單位),驗證失敗。

解決方案:

要解決這個問題,您有兩個選擇:

1。修正 SSL 設定:

如果可能,取得由受信任的 CA 簽署的有效 SSL 憑證並將其正確安裝在您的郵件伺服器上。這將確保成功的證書驗證。

2.停用 SSL 憑證驗證(不建議):

警告:停用憑證驗證會產生嚴重的安全隱患。它使您面臨中間人攻擊的風險。

要停用憑證驗證,請設定以下 PHPMailer 選項:

<code class="php">$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);</code>

編輯 PHPMailer 庫以停用驗證是強烈建議不要這樣做,因為它會在升級時中斷。

安全注意事項:

停用 SSL 憑證驗證只能被視為臨時解決方法,而不是長期解決方案。保護您的 SSL 配置以防止潛在的安全漏洞至關重要。

以上是如何修復 PHPMailer 中的「SSL3_GET_SERVER_CERTIFICATE:憑證驗證失敗」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn