PHPMailer stößt auf PHP-Warnung: Zertifikat stimmt nicht überein
Problem:
In PHP 5.6, PHPMailer stößt auf eine PHP-Warnung, die auf eine Nichtübereinstimmung des Zertifikats während der TLS-Verschlüsselung hinweist:
PHP Warning: stream_socket_enable_crypto(): Peer certificate CN=*.mail.dreamhost.com' did not match expected CN=mx1.sub4.homie.mail.dreamhost.com'
Erklärung:
Ab PHP 5.6 ist die Zertifikatsüberprüfung standardmäßig für SSL-Verbindungen aktiviert. Das bedeutet, dass PHPMailer das vom SMTP-Server vorgelegte Zertifikat mit dem erwarteten Zertifikat vergleicht. Bei Nichtübereinstimmung schlägt der Verbindungsversuch möglicherweise fehl.
Lösung:
Die empfohlene Lösung besteht darin, sicherzustellen, dass Ihr SMTP-Server über ein gültiges und ordnungsgemäß konfiguriertes Zertifikat verfügt. Alternativ können Sie PHPMailer so konfigurieren, dass die Zertifikatsvalidierung ignoriert wird:
<code class="php">$mail->SMTPOptions = array ( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true));</code>
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonHier sind einige mögliche Titel, die die Informationen Ihres Artikels mit einem Frageformat kombinieren: Direkt und klar: * PHPMailer TLS-Verschlüsselung: Warum erhalte ich eine Warnung wegen Zertifikatkonflikten? * Zertif. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!