ホームページ >バックエンド開発 >PHPチュートリアル >Gmail 経由でメールを送信する際の「SMTP Connect() に失敗しました」エラーを修正する方法

Gmail 経由でメールを送信する際の「SMTP Connect() に失敗しました」エラーを修正する方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-10-21 17:47:49967ブラウズ

How to Fix

SMTP 接続の失敗: 「SMTP Connect() failed」エラーの解決

Gmail を使用してメールを送信しようとすると、エラーが発生する場合があります「SMTP -> エラー: サーバーへの接続に失敗しました: 接続がタイムアウトしました (110)nSMTP Connect() が失敗しました。メッセージは送信されませんでした。nMailer エラー: SMTP Connect() が失敗しました。」というメッセージが表示されました。このエラーは、SMTP サーバーへの接続の確立に問題があることを示しています。

この問題を解決するには、電子メールの送信を担当する PHP コードを変更する必要があります。具体的には、次の行を削除するかコメント アウトします。

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

IsSMTP() メソッドは非推奨であるため、使用しないでください。この行を削除またはコメントアウトすると、コードは電子メールの送信に自動的に SMTP を使用するようになり、接続の問題が解消され、電子メールの配信が正常に行われるようになります。

変更を加えて更新されたコードは次のとおりです。

<code class="php">require 'class.phpmailer.php'; // path to the PHPMailer class
require 'class.smtp.php';

$mail = new PHPMailer();

$mail->Mailer = "smtp";
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 587;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "[email&#160;protected]"; // SMTP username
$mail->Password = "mypasswword"; // SMTP password 
$Mail->Priority = 1;

$mail->AddAddress("[email&#160;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>

以上がGmail 経由でメールを送信する際の「SMTP Connect() に失敗しました」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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