PHPMailer - OpenSSL-Fehler
Basierend auf dem Beispiel, das PHPMailer bietet ich habe das Skript unten,
date_default_timezone_set('Etc/UTC');
require './PHPMailerAutoload.php';
$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = 'smtp.gmail.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = "[email protected]";
$mail->Password = "********";
$mail->setFrom('[email protected]', 'First Last');
$mail->addReplyTo('[email protected]', 'First Last');
$mail->addAddress('[email protected]', 'first last');
$mail->Subject = 'PHPMailer GMail SMTP test';
$mail->Body = "example";
$mail->AltBody = 'This is a plain-text message body';
if (!$mail->send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
Selbst wenn, ist das genau das gleiche wie das original-Beispiel, ich kann nicht ankommen es zu wirken.
Den Fehler, den ich bekomme, ist
Warnung: stream_socket_enable_crypto(): SSL-Vorgang ist fehlgeschlagen mit Fehlercode 1. OpenSSL-Fehler Meldungen: Fehler:14090086:SSL-Routinen:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed /opt/lampp/htdocs/webmail_client_practise/class.smtp.php on line 344
SMTP-Fehler: Konnte keine Verbindung zum SMTP-host.
Hinweis: Die OpenSSL-Erweiterung in meinem php.ini
Datei ist bereits geöffnet.
InformationsquelleAutor Makis | 2015-09-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist, weil Sie PHP 5.6 und es ist die überprüfung Ihrer certs, aber Ihr server präsentiert ungültig certs, damit es fehlschlägt. Beide PHPMailer, PHP richtig sind in dem was Sie tun - der code ist nicht Schuld. Sie können entweder reparieren Sie Ihre E-mail-server, oder tun, was es nahelegt, in die Anleitung zur Fehlerbehebung, das ist:
Und als der guide sagt, sollten Sie dies nicht tun, es sei denn, Sie haben zu - es ist dabei Ihre Sicherheit.
Ich danke Ihnen, sir. Dies hat den trick in meinem Fall.
Dies hat geholfen. Vielen Dank 🙂
NEIN - der richtige Weg, um fix Zertifikat Fehler installieren Sie das Zertifikat der Zertifizierungsstelle cert signing in openssl - gagravarr.org/writing/openssl-certs/others.shtml#ca-openssl
Hast du eigentlich gelesen, diese Antwort, wie das bit, wo es heißt "Sie sollten das nicht tun"? Die Antwort auf diese Frage von ein paar Jahren, als die häufigste Ursache für diesen Fehler war nicht ein fehlendes oder abgelaufenes CA-Zertifikat, sondern weil der ISP wurde transparent umleiten von SMTP-traffic auf Ihren eigenen server, wodurch Zertifikat-name-Unterschiede, die einen bestimmten Fall, in dem es angemessener zu unterdrücken, den Fehler in der Art vorgeschlagen. Erst kürzlich (Dez 2017), eine out-of-date-CA-cert wurde die Auslösung der gleiche Fehler für gmail, die in der Tat besser wäre behoben durch Aktualisierung der CA-cert, nicht unterdrücken.
InformationsquelleAutor Synchro