2016-03-29 14 views
0

Dieser Link beschreibt einige otpions dieses Problem zu beheben: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure Aber ich weiß einfach nicht, was speziell in Joomla zu tun und wie diese Überprüfung zu verhindern, weil ich nicht einstellen up ssl für meine Seite. Warnung:PHP 5.6 Zertifikat Überprüfung Fehler in Joomla

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 /nfsmnt/hosting1_1/1/b/1bec1745-5e90-43d0-beb1-2d132937948b/domain.com/web/libraries/vendor/phpmailer/phpmailer/class.smtp.php on line 344

Was ist der Sinn dieser Prüfung ist, wenn so viele Websites laufen nicht ssl?

Stück Code in Joomla-Bibliothek (class.smtp.php)

 // Begin encrypted connection 
    if (!stream_socket_enable_crypto(
     $this->smtp_conn, 
     true, 
     STREAM_CRYPTO_METHOD_TLS_CLIENT 
    )) { 
     return false; 
    } 
    return true; 
} 

Antwort

0

Sie fehlen den Punkt. Es ist nicht die Site, die SSL verwendet, es ist der Mail-Server, mit dem Sie sich verbinden. Wenn Sie beispielsweise mit PHPMailer eine Nachricht über Ihr Google Mail-Konto senden, wird die Verbindung zu Google Mail verschlüsselt, unabhängig davon, ob Ihr Webserver es ist.

Das Problem, mit dem Sie arbeiten, ist, dass der von Ihnen verwendete Mail-Server falsch konfiguriert ist. Wenn es eine Verschlüsselung für eingehende Verbindungen verwendet, sollte es ein gültiges Zertifikat verwenden. Der Fehler besteht darin, dass das Zertifikat abgelaufen ist, ein selbstsigniertes Zertifikat ist (und daher nicht vertrauenswürdig ist) oder nicht mit dem Hostnamen übereinstimmt, mit dem Sie verbunden sind. Die Anweisungen in der Anleitung sagen Ihnen, wie Sie diese Prüfungen deaktivieren, und sie sollten an dem Punkt angewendet werden, an dem PHPMailer verwendet wird, nicht durch Ändern der Bibliothek selbst. Sie können herausfinden, wo dies in der Joomla-Codebasis zu tun ist, indem Sie nach Instanzen von new PHPMailer suchen und sie mit dem Code verfolgen, der die degraded SSL-Optionen im Handbuch festlegt. Bedenken Sie jedoch, dass dies der falsche Weg ist, um es zu beheben. Wenn Ihr E-Mail-Server nicht repariert werden kann, verwenden Sie eine geeignete Hosting-Firma, die weiß, was sie tut.

Wie für "nicht viele Websites laufen SSL", das ist einfach nicht wahr. Alle Sites sollten SSL ausführen, aber viele nicht. Es gibt wirklich keine Entschuldigung, jetzt nicht, dass Sie free real certificates with minimal hassle bekommen können. Für überzeugendere Darstellungen, read this.

+0

Vielen Dank für Ihre Antwort. Muss ich die class.smtp.php irgendwie modifizieren? (wie für ssl - Mein Provider gab mir Let's Encrypt, aber nach Firefox beschwert sich, dass: "unsecure connection". Also verwende ich keine https-Umleitung.) –

+0

nun, alles, was ich tun konnte, war Download früheren "Update-Paket" von Joomla, und ich habe den gesamten phpmailer-Ordner heruntergestuft. Jetzt funktioniert es wieder. Stellt sich heraus, dass jeder phpmailer verwenden möchte, sollte dafür google account (zuverlässig) verwenden, bis nicht jeder Mailserver auf diese Verifikationsfunktion vorbereitet ist. :-) –

+0

Mail-Server verwenden SSL seit ca. 20 Jahren. Sie hätten es jetzt herausfinden müssen. Es ist nicht PHPMailer, der den Unterschied macht, sondern PHP selbst. – Synchro