Heim >Backend-Entwicklung >PHP-Tutorial >Warum schlägt der Versand meiner PHP-E-Mail über den SMTP-Server von Gmail fehl und wie kann ich das Problem mit der Pear Mail-Bibliothek beheben?

Warum schlägt der Versand meiner PHP-E-Mail über den SMTP-Server von Gmail fehl und wie kann ich das Problem mit der Pear Mail-Bibliothek beheben?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-21 09:51:10861Durchsuche

Why is my PHP email sent via Gmail's SMTP server failing, and how can I fix it using the Pear Mail library?

E-Mails mit dem SMTP-Server von GMail von PHP aus senden

Problem:
Beim Versuch, eine E-Mail mit zu senden Beim Aufrufen des SMTP-Servers von GMail von einer PHP-Seite tritt ein Fehler auf, der auf einen Authentifizierungsfehler hinweist SMTP.

Lösung:

Der bereitgestellte Code nutzt die Pear Mail Library, die Anpassungen für GMails SMTP erfordert:

  1. Stellen Sie das Protokoll auf SSL ein: Ändern Sie die Hostzeile so, dass sie vorher „ssl://“ einschließt 'smtp.gmail.com'.
  2. Verwenden Sie Port 465 für SSL:Ändern Sie die Portnummer in „465“.
  3. Stellen Sie sicher, dass Benutzername und Passwort korrekt sind: Verwenden Sie die vollständige E-Mail-Adresse als Benutzernamen und die zugehörige Passwort.

Aktualisierter Code:

require_once "Mail.php";

$from = '<[email&#160;protected]>';
$to = '<[email&#160;protected]>';
$subject = 'Hi!';
$body = "Hi,\n\nHow are you?";

$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => '[email&#160;protected]',
        'password' => 'passwordxxx'
    ));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
    echo('<p>' . $mail->getMessage() . '</p>');
} else {
    echo('<p>Message successfully sent!</p>');
}

Durch die Einbindung dieser Änderungen sollte der Code nun erfolgreich E-Mails über den SMTP-Server von GMail von der PHP-Seite senden.

Das obige ist der detaillierte Inhalt vonWarum schlägt der Versand meiner PHP-E-Mail über den SMTP-Server von Gmail fehl und wie kann ich das Problem mit der Pear Mail-Bibliothek beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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