Warum generiert PHPMailer eine Warnung „stream_socket_enable_crypto(): Peer Certificate Mismatch' und wie kann ich das beheben?

Barbara Streisand
Freigeben: 2024-11-02 11:51:03
Original
658 Leute haben es durchsucht

Why Does PHPMailer Generate a

PHPMailer generiert Warnung: stream_socket_enable_crypto(): Peer Certificate Mismatch

Die in PHP 5.6 implementierten erweiterten Sicherheitsmaßnahmen haben sich auf die Verwendung von PHPMailer ausgewirkt. Beim Versuch, Nachrichten an bestimmte Domänen zu senden, z. B. an die von Dreamhost gehosteten Domänen, stoßen Benutzer möglicherweise auf eine Fehlermeldung: „Verbindung zum SMTP-Host konnte nicht hergestellt werden.“

Weitere Untersuchungen offenbaren ein zugrunde liegendes Problem mit der Zertifikatsvalidierung. PHPMailer protokolliert „PHP-Warnung: stream_socket_enable_crypto(): Peer-Zertifikat CN=*.mail.dreamhost.com‘ stimmte nicht mit dem erwarteten CN=mx1.sub4.homie.mail.dreamhost.com‘ überein.“

Zu lösen Bei diesem Problem ist es wichtig zu verstehen, dass die Zertifikatsüberprüfung nicht optional ist und ihre Nichtbeachtung die Sicherheit gefährdet. Die richtige Lösung besteht, wie in der PHPMailer-Dokumentation angegeben, darin, das ungültige oder falsch konfigurierte Zertifikat durch ein gültiges zu ersetzen.

Wenn die Zertifikatsvalidierung weiterhin nicht verhandelbar ist, die Nachrichtenzustellung jedoch weiterhin erforderlich ist, ist es möglich, die Überprüfung zu umgehen vorübergehend. Dies kann durch Festlegen der folgenden SMTP-Optionen erreicht werden:

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

Dieser Ansatz sollte jedoch mit Vorsicht verwendet werden und wird nur als vorübergehende Maßnahme empfohlen, bis die ordnungsgemäße Zertifikatskonfiguration in Angriff genommen werden kann.

Das obige ist der detaillierte Inhalt vonWarum generiert PHPMailer eine Warnung „stream_socket_enable_crypto(): Peer Certificate Mismatch' und wie kann ich das beheben?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!