SMTP Connect() が失敗しました: 接続タイムアウトのトラブルシューティング
SMTP を使用して電子メールを送信しようとすると、次のエラーが発生する場合があります:「SMTP - > エラー: サーバーへの接続に失敗しました: 接続がタイムアウトしました (110)... メッセージが送信されませんでした: SMTP Connect() が失敗しました。この問題は、多くの場合、SMTP サーバーへの接続の確立に問題があることを示します。
考えられる原因:
解決策:
コードで指定されている SMTP 設定 (ホスト、ポート、ユーザー名、パスワードなど) を確認し、使用している SMTP サーバーの要件と一致していることを確認します。
さらに、$ 行をコメントアウトするか削除します。メール->IsSMTP(); SMTP 構成を使用する場合は必要ないためです。
<code class="php">require 'class.phpmailer.php'; require 'class.smtp.php'; $mail = new PHPMailer(); $mail->SMTPDebug = 2; // Enable debugging $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>
問題が解決しない場合は、ファイアウォールまたはネットワーク設定を調べて、SMTP ポート (通常は 587 または 465) がブロックされていないことを確認してください。サーバー側の問題を排除するために、別の SMTP サーバーを使用してみることもできます。
以上がSMTP Connect() タイムアウトを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。