ホームページ >バックエンド開発 >PHPチュートリアル >SMTP 接続: 「SMTP Connect() が失敗しました。メッセージは送信されませんでした。」というメッセージが表示されるのはなぜですか?

SMTP 接続: 「SMTP Connect() が失敗しました。メッセージは送信されませんでした。」というメッセージが表示されるのはなぜですか?

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 Connect() が失敗しました。メッセージは送信されませんでした。」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。