„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie behebe ich den Fehler „SMTP Connect() Failed“ bei der Verwendung von PHPmailer mit Gmail?

Wie behebe ich den Fehler „SMTP Connect() Failed“ bei der Verwendung von PHPmailer mit Gmail?

Veröffentlicht am 08.11.2024
Durchsuche:892

  How to Resolve \

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.

Neuestes Tutorial Mehr>

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