首頁 >後端開發 >php教程 >SMTP 連線:為什麼我收到「SMTP 連線()失敗。訊息未傳送。」?

SMTP 連線:為什麼我收到「SMTP 連線()失敗。訊息未傳送。」?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-21 17:48:03713瀏覽

SMTP Connection: Why am I Getting

SMTP 連線錯誤:「SMTP Connect() 失敗。訊息未發送。」

提供的用於使用SMTP 發送電子郵件的電子郵件的PHP 程式碼遇到錯誤,「SMTP -> 錯誤:無法連線到伺服器:連線逾時(110)」。

問題源自於包含 $mail->IsSMTP();和 $mail->Mailer = "smtp";程式碼中的行。這些行是多餘的,一起使用時可能會導致配置衝突。

解決方案:

要解決該錯誤,請按照提供的解決方案進行註釋或刪除該行:

<code class="php">$mail->IsSMTP();</code>

刪除此行後,PHPmailer 類別使用$mail->Mailer 設定來決定發送電子郵件的方法,在本例中為SMTP。

範例程式碼:

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

// initialize PHPMailer
$mail = new PHPMailer();

// use SMTP
$mail->Mailer = "smtp";

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

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

// compose email
$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 連線:為什麼我收到「SMTP 連線()失敗。訊息未傳送。」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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