
SMTP 接続の失敗: 「SMTP Connect() failed」エラーの解決
Gmail を使用してメールを送信しようとすると、エラーが発生する場合があります「SMTP -> エラー: サーバーへの接続に失敗しました: 接続がタイムアウトしました (110)nSMTP Connect() が失敗しました。メッセージは送信されませんでした。nMailer エラー: SMTP Connect() が失敗しました。」というメッセージが表示されました。このエラーは、SMTP サーバーへの接続の確立に問題があることを示しています。
この問題を解決するには、電子メールの送信を担当する PHP コードを変更する必要があります。具体的には、次の行を削除するかコメント アウトします。
1 | <code class = "php" > $mail ->IsSMTP();</code>
|
ログイン後にコピー
IsSMTP() メソッドは非推奨であるため、使用しないでください。この行を削除またはコメントアウトすると、コードは電子メールの送信に自動的に SMTP を使用するようになり、接続の問題が解消され、電子メールの配信が正常に行われるようになります。
変更を加えて更新されたコードは次のとおりです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | <code class = "php" > require 'class.phpmailer.php' ;
require 'class.smtp.php' ;
$mail = new PHPMailer();
$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>
|
ログイン後にコピー
以上がGmail 経由でメールを送信する際の「SMTP Connect() に失敗しました」エラーを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。