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 ) );
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!