Problem bei der PHPMailer-SSL-Verifizierung: Zertifikatsüberprüfung fehlgeschlagen
Problem:
Beim Versuch zu senden E-Mails von einem Mailserver mit einem selbstsignierten Zertifikat sendet PHPMailer den folgenden Fehler:
PHP Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in class.smtp.php on line 327.
Lösung:
Ab PHP 5.6 gibt es eine SSL-Zertifikatsüberprüfung eingeführt worden. Um zum alten Verhalten ohne Überprüfung zurückzukehren, legen Sie die SMTPOptions-Eigenschaft in PHPMailer fest:
<code class="php">$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );</code>
Hinweis:
Das Deaktivieren der SSL-Überprüfung hat Auswirkungen auf die Sicherheit. Ohne Überprüfung können sich böswillige Akteure als vertrauenswürdige Endpunkte ausgeben und Man-in-the-Middle-Angriffe durchführen. Berücksichtigen Sie diese Risiken, bevor Sie diese Lösung verwenden.
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Zertifikatsüberprüfung fehlgeschlagen', wenn PHPMailer mit einem selbstsignierten Zertifikat verwendet wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!