SMTP Connect()-Fehler: Fehlerbehebung bei Verbindungs-Timeouts
Beim Versuch, E-Mails mit PHPMailer zu senden, kann bei Benutzern der folgende Fehler auftreten: „SMTP -> FEHLER: Verbindung zum Server fehlgeschlagen: Zeitüberschreitung der Verbindung (110) SMTP Connect() fehlgeschlagen. Mailer-Fehler: SMTP Connect() fehlgeschlagen. Dieser Fehler ist häufig auf Verbindungsschwierigkeiten zwischen dem Server und dem PHP-Skript zurückzuführen.
Bei der Untersuchung des bereitgestellten PHP-Codes wurde festgestellt, dass die Zeile „$mail->IsSMTP();“ war anwesend. Laut der Dokumentation für PHPMailer ist diese Methode veraltet und nicht mehr erforderlich. Durch Entfernen oder Auskommentieren dieser Zeile wird das Problem mit dem Verbindungszeitlimit behoben:
<code class="php">// Remove or comment out the following line: // $mail->IsSMTP();</code>
Durch Entfernen oder Auskommentieren der Methode „IsSMTP()“ kann die Verbindung zum SMTP-Server erfolgreich hergestellt werden. Der vollständige Code unten zeigt die korrigierte PHPMailer-Konfiguration:
<code class="php">require 'class.phpmailer.php'; // path to the PHPMailer class 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; // turn on SMTP authentication $mail->Username = "[email protected]"; // SMTP username $mail->Password = "mypasswword"; // SMTP password $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>
Durch die Implementierung dieser Änderungen sollte der Fehler „SMTP Connect() failed“ behoben werden, sodass E-Mails erfolgreich über PHPMailer mit SMTP-Authentifizierung gesendet werden können.
Das obige ist der detaillierte Inhalt vonWie behebe ich SMTP Connect()-Timeouts mit PHPMailer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!