SMTP-Verbindungsfehler in PHPmailer: Behebung des Problems
Beim Senden von E-Mails über PHPmailer können Entwickler auf einen Fehler stoßen: „Mailer-Fehler: SMTP connect() ist fehlgeschlagen.“ Dieses Problem tritt häufig bei der Verwendung des SMTP-Servers von Gmail auf.
Die Lösung liegt in der Implementierung eines neuen Autorisierungsmechanismus durch Google, XOAUTH2. Damit PHPmailer eine Verbindung zum SMTP von Gmail herstellen kann, müssen Sie die Einstellung „Weniger sichere Apps“ in Ihrem Google-Konto aktivieren. Dieser Schritt gewährt Zugriff auf Anwendungen, die sich nicht an strenge Verschlüsselungsprotokolle halten.
Anstatt SSL über Port 465 zu verwenden, wechseln Sie außerdem zu TLS über Port 587. TLS stellt sicher, dass Ihre Anfragen sicher verschlüsselt sind und den Anforderungen von Google entsprechen .
Unten finden Sie einen modifizierten Codeausschnitt, der diese Änderungen enthält:
<code class="php">require_once 'C:\xampp\htdocs\email\vendor\autoload.php'; define ('GUSER','[email protected]'); define ('GPWD','your password'); // make a separate file and include this file in that. call this function in that file. function smtpmailer($to, $from, $from_name, $subject, $body) { global $error; $mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug = 2; // debugging: 1 = errors and messages, 2 = messages only $mail->SMTPAuth = true; // authentication enabled $mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail $mail->SMTPAutoTLS = false; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->Username = GUSER; $mail->Password = GPWD; $mail->SetFrom($from, $from_name); $mail->Subject = $subject; $mail->Body = $body; $mail->AddAddress($to); if(!$mail->Send()) { $error = 'Mail error: '.$mail->ErrorInfo; return false; } else { $error = 'Message sent!'; return true; } }</code>
Durch die Implementierung dieser Änderungen können Sie erfolgreich eine Verbindung zum SMTP-Server von Gmail herstellen und E-Mails über PHPmailer übertragen.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „SMTP Connect() Failed' bei der Verwendung von PHPmailer mit Gmail?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!