SMTP-Verbindungsfehler in PHPmailer: Beheben 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 auf, wenn der SMTP-Server von Gmail verwendet wird.
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:
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;
}
}
Durch die Implementierung dieser Änderungen können Sie erfolgreich eine Verbindung zum SMTP-Server von Gmail herstellen und E-Mails über PHPmailer übertragen.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3