Heim >Backend-Entwicklung >PHP-Tutorial >Warum kann mein PHPMailer keine Verbindung zum SMTP-Host herstellen?

Warum kann mein PHPMailer keine Verbindung zum SMTP-Host herstellen?

DDD
DDDOriginal
2024-12-13 12:56:15655Durchsuche

Why Can't My PHPMailer Connect to the SMTP Host?

So beheben Sie den „SMTP-Fehler: Verbindung zum SMTP-Host konnte nicht hergestellt werden“ von PHPMailer

PHPMailer, eine weit verbreitete PHP-Bibliothek zum Senden von E-Mails, Gelegentlich wird die Fehlermeldung „SMTP-Fehler: Verbindung zum SMTP-Host konnte nicht hergestellt werden“ angezeigt. Dieser Fehler tritt normalerweise auf, wenn PHPMailer keine Verbindung mit dem in den Host- und Porteinstellungen angegebenen SMTP-Server herstellen kann.

Um dieses Problem zu beheben, ist es wichtig, die von PHPMailer verwendeten SMTP-Einstellungen mit denen von a zu vergleichen Bekanntermaßen funktionierender E-Mail-Client wie Thunderbird. In diesem Fall sind die Einstellungen von Thunderbird:

  • Servername: mail.exampleserver.com
  • Port: 587
  • Benutzername: [email protected]
  • Sichere Authentifizierung: Nein
  • Verbindungssicherheit: STARTTLS

Stellen Sie als Nächstes sicher, dass der PHP-Code für die SMTP-Einstellungen korrekt konfiguriert ist. Das bereitgestellte Codebeispiel scheint korrekt zu sein, aber überprüfen Sie unbedingt Folgendes:

  • Host: Stellen Sie dies auf „mail.exampleserver.com“ oder die von Ihrem E-Mail-Anbieter bereitgestellte SMTP-Serveradresse ein.
  • Port: Stellen Sie dies auf 587 ein.
  • SMTPAuth: Stellen Sie dies auf „true“ ein, um SMTP zu aktivieren Authentifizierung.
  • Benutzername: Legen Sie hier Ihre E-Mail-Adresse fest (z. B. [email protected]).
  • Passwort: Legen Sie hier das mit Ihrer E-Mail-Adresse verknüpfte Passwort fest.

Wenn die SMTP-Einstellungen korrekt sind und das Problem weiterhin besteht, ziehen Sie die folgende Lösung in Betracht:

Aktualisierung der PHP-Version für SSL Zertifizierung

Wenn Sie kürzlich PHP auf Version 5.6 aktualisiert haben, wurde möglicherweise ein strengeres SSL-Verhalten implementiert. Die Dokumentation von PHPMailer schlägt eine Problemumgehung vor:

$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);

Hinweis: Diese Lösung ist nur eine vorübergehende Lösung und sollte durch eine ordnungsgemäße Lösung ersetzt werden, z. B. durch das Ersetzen ungültiger oder selbstsignierter Zertifikate durch gültige .

Das obige ist der detaillierte Inhalt vonWarum kann mein PHPMailer keine Verbindung zum SMTP-Host herstellen?. 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