首頁 > 後端開發 > php教程 > 為什麼我的 PHPMailer 無法連線到 SMTP 主機?

為什麼我的 PHPMailer 無法連線到 SMTP 主機?

DDD
發布: 2024-12-13 12:56:15
原創
601 人瀏覽過

Why Can't My PHPMailer Connect to the SMTP Host?

如何解決PHPMailer 的「SMTP 錯誤:無法連接到SMTP 主機」

PHPMailer,一個廣泛使用的用於發送電子郵件的PHP 庫,有時會遇到錯誤訊息「SMTP 錯誤:無法連線到SMTP 主機」。當 PHPMailer 無法與主機和連接埠設定中指定的 SMTP 伺服器建立連線時,通常會發生此錯誤。

要解決此問題,將 PHPMailer 使用的 SMTP 設定與 PHPMailer 使用的 SMTP 設定進行比較至關重要。已知工作的電子郵件用戶端,例如 Thunderbird。在本例中,Thunderbird 的設定為:

  • 伺服器名稱:mail.exampleserver.com
  • 連接埠:587
  • 使用者名稱:[電子郵件受保護]
  • 安全身份驗證:否
  • 連線安全: STARTTLS

接下來,請確保為 SMTP 設定正確配置 PHP 程式碼。提供的程式碼範例顯示正確,但請確保驗證以下內容:

  • 主機:將其設定為「mail.exampleserver.com」或您的電子郵件提供者提供的 SMTP 伺服器位址。
  • 連接埠:將其設定為 587。
  • SMTPAuth:將其設為 true 以啟用 SMTP驗證。
  • 使用者名稱:將其設定為您的電子郵件地址(例如,[電子郵件受保護])。
  • 密碼:將其設定為與您的電子郵件地址關聯的密碼。

如果SMTP 設定正確且問題仍然存在,請考慮以下措施解決方案:

更新SSL 認證的PHP 版本

如果您最近將PHP 升級到版本5.6,可能已經實施了更嚴格的SSL 行為。 PHPMailer 的文件建議了一種解決方法:

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

注意: 此解決方案只是臨時修復,應替換為正確的修復,例如用有效證書替換無效或自簽名證書.

以上是為什麼我的 PHPMailer 無法連線到 SMTP 主機?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板