
SMTP 接続エラー: 「SMTP Connect() が失敗しました。メッセージは送信されませんでした。」
SMTP を使用して電子メールを送信するための提供された PHP コード「SMTP -> エラー: サーバーへの接続に失敗しました: 接続タイムアウト (110)」というエラーが発生します。
この問題は、$mail->IsSMTP(); の両方が含まれていることが原因で発生します。および $mail->Mailer = "smtp";コード内の行。これらの行は冗長であり、一緒に使用すると構成の競合が発生する可能性があります。
解決策:
エラーを解決するには、提供された解決策に従ってコメント アウトするか削除してください。行:
1 | <code class = "php" > $mail ->IsSMTP();</code>
|
ログイン後にコピー
この行が削除されると、PHPmailer クラスは $mail->Mailer 設定を使用して電子メールの送信方法 (この場合は 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 28 29 30 31 32 33 34 35 | <code class = "php" >
require 'class.phpmailer.php' ;
require 'class.smtp.php' ;
$mail = new PHPMailer();
$mail ->Mailer = "smtp" ;
$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;
$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>
|
ログイン後にコピー
以上がSMTP 接続: 「SMTP Connect() が失敗しました。メッセージは送信されませんでした。」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。