首頁 >後端開發 >php教程 >如何解決 SMTP Connect() 逾時問題?

如何解決 SMTP Connect() 逾時問題?

Barbara Streisand
Barbara Streisand原創
2024-10-21 17:44:02916瀏覽

How to Resolve SMTP Connect() Timeouts?

SMTP Connect() 失敗:連線逾時故障排除

嘗試使用SMTP 發送電子郵件時,您可能會遇到錯誤:「 SMTP - > 錯誤:無法連線到伺服器:連線逾時(110)...郵件程式錯誤:SMTP Connect() 失敗。

潛在原因:

  • SMTP 設定不正確(例如主機名稱、連接埠、驗證詳細資料) )
  • 防火牆或網路設定阻止連線
  • SMTP 伺服器端的臨時伺服器問題

解決方案:

檢查代碼中指定的SMTP 設定(例如主機、主機、主機、連接埠、使用者名稱和密碼),請確保它們符合您正在使用的SMTP 伺服器的要求。

此外,註解掉或刪除行 $郵件->IsSMTP();因為使用 SMTP 設定時沒有必要。

<code class="php">require 'class.phpmailer.php';
require 'class.smtp.php';

$mail = new PHPMailer();

$mail->SMTPDebug = 2; // Enable debugging
$mail->Mailer = "smtp";
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "mypasswword";
$mail->Priority = 1;

$mail->AddAddress("[email protected]", "Name");
$mail->SetFrom($visitor_email, $name);
$mail->AddReplyTo($visitor_email, $name);

$mail->Subject = "Message from Contact form";
$mail->Body = $user_message;
$mail->WordWrap = 50;

if (!$mail->Send()) {
    echo 'Message was not sent.';
    echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent.';
}</code>

如果問題仍然存在,請檢查您的防火牆或網路設定以確保 SMTP 連接埠(通常為 587 或 465)未被封鎖。您也可以嘗試使用不同的 SMTP 伺服器來排除伺服器端問題。

以上是如何解決 SMTP Connect() 逾時問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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