Heim  >  Artikel  >  Backend-Entwicklung  >  Wie behebe ich SMTP Connect()-Zeitüberschreitungen?

Wie behebe ich SMTP Connect()-Zeitüberschreitungen?

Barbara Streisand
Barbara StreisandOriginal
2024-10-21 17:44:02829Durchsuche

How to Resolve SMTP Connect() Timeouts?

SMTP Connect() fehlgeschlagen: Fehlerbehebung bei Verbindungs-Timeouts

Beim Versuch, E-Mails über SMTP zu senden, kann der Fehler auftreten: „SMTP - > FEHLER: Verbindung zum Server fehlgeschlagen: Zeitüberschreitung der Verbindung (110) ... Nachricht wurde nicht gesendet: SMTP Connect() fehlgeschlagen. Dieses Problem weist häufig auf ein Problem beim Herstellen einer Verbindung zum SMTP-Server hin.

Mögliche Ursachen:

  • Falsche SMTP-Einstellungen (z. B. Hostname, Port, Authentifizierungsdetails). )
  • Firewall- oder Netzwerkkonfiguration blockiert die Verbindung
  • Vorübergehende Serverprobleme auf der SMTP-Serverseite

Lösung:

Überprüfen Sie die in Ihrem Code angegebenen SMTP-Einstellungen (z. B. Host, Port, Benutzername und Passwort), um sicherzustellen, dass sie den Anforderungen des von Ihnen verwendeten SMTP-Servers entsprechen.

Kommentieren Sie außerdem die Zeile $ aus oder entfernen Sie sie mail->IsSMTP(); da dies bei Verwendung der SMTP-Konfiguration nicht erforderlich ist.

<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>

Wenn das Problem weiterhin besteht, überprüfen Sie Ihre Firewall- oder Netzwerkeinstellungen, um sicherzustellen, dass der SMTP-Port (normalerweise 587 oder 465) nicht blockiert wird. Sie können auch versuchen, einen anderen SMTP-Server zu verwenden, um serverseitige Probleme auszuschließen.

Das obige ist der detaillierte Inhalt vonWie behebe ich SMTP Connect()-Zeitüberschreitungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn