為什麼 PHPMailer 會產生「stream_socket_enable_crypto():對等憑證不符」警告以及如何修復它?

Barbara Streisand
發布: 2024-11-02 11:51:03
原創
658 人瀏覽過

Why Does PHPMailer Generate a

PHPMailer 產生警告:stream_socket_enable_crypto():對等憑證不符合

PHP 5.6 中實施的增強安全措施。當嘗試將郵件傳送到某些網域(例如 Dreamhost 託管的網域)時,使用者可能會遇到錯誤:「無法連線到 SMTP 主機。」

進一步調查揭示了憑證驗證的潛在問題。 PHPMailer 記錄「PHP 警告:stream_socket_enable_crypto():對等憑證CN=*.mail.dreamhost.com' 與預期的CN=mx1.sub4.homie.mail.dreamhost.com' 不符。」

要解決對於這個問題,重要的是要了解憑證驗證不是可選的,忽略它會損害安全性。正如 PHPMailer 文件中所述,正確的解決方案是將無效或配置錯誤的憑證替換為有效的憑證。

如果憑證驗證仍然不可協商,但仍然需要訊息傳遞,則有可能繞過驗證暫時地。這可以透過設定以下 SMTPOptions 來實現:

$mail->SMTPOptions = array(
        'ssl' => array(
            'verify_peer' => false,
            'verify_peer_name' => false,
            'allow_self_signed' => true
            )
        );
登入後複製

但是,應謹慎使用此方法,並且僅建議作為臨時措施,直到可以解決正確的證書配置問題。

以上是為什麼 PHPMailer 會產生「stream_socket_enable_crypto():對等憑證不符」警告以及如何修復它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!