Wie behebt man den Fehler „SMTP Connect() Failed' bei der Verwendung von PHPmailer mit Gmail?

Patricia Arquette
Freigeben: 2024-10-26 03:23:02
Original
444 Leute haben es durchsucht

  How to Resolve

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&#160;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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage