ホームページ >バックエンド開発 >PHPチュートリアル >SMTP 接続: 「SMTP Connect() が失敗しました。メッセージは送信されませんでした。」というメッセージが表示されるのはなぜですか?
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 サイトの他の関連記事を参照してください。