首頁 >後端開發 >php教程 >為什麼 PHPMailer 在 PHP 5.6 下拋出「對等憑證不符」錯誤?

為什麼 PHPMailer 在 PHP 5.6 下拋出「對等憑證不符」錯誤?

Susan Sarandon
Susan Sarandon原創
2024-10-27 06:23:29591瀏覽

 Why Does PHPMailer Throw a

PHPMailer 警告:對等憑證不符

PHPMailer 使用者遇到「PHP 警告:stream_socket_enable_crypto():對等憑證與預期匹配”錯誤PHP 5.6 下可能會面臨證書驗證問題。

背景:

PHP 5.6 為 SSL 連線引入了更嚴格的憑證驗證。因此,如果遠端伺服器的 SSL 設定不正確,PHPMailer 將無法加密連線。

症狀:

  • 連線失敗錯誤: PHPMailer 顯示「無法連線到SMTP 主機。」
  • 🎜>日誌記錄錯誤: 日誌顯示憑證不符警告:「對等憑證CN=*.mail.dreamhost.com ...' 與預期的CN=mx1.sub4.homie.mail.dreamhost.com. ..'".
  • 立即退出命令: PHPMailer 可能會在之後發出QUIT 命令嘗試STARTTLS,表示加密失敗。

解決方案:

建議的解決方案是修正遠端伺服器上的憑證或驗證設定。這可能涉及用有效憑證取代無效憑證或重新配置 SSL 設定。

替代方案:

如果需要立即交付且憑證不符並不重要,您可以使用下列選項在PHPMailer 中停用憑證驗證:

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

注意: 不建議停用證書驗證,因為它可能會接受無效證書,從而損害安全性。

以上是為什麼 PHPMailer 在 PHP 5.6 下拋出「對等憑證不符」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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