wake-up-neo.com

localhost und "stream_socket_enable_crypto (): SSL-Vorgang mit Code 1 fehlgeschlagen"

Ich habe E-Mails mit Google Mail gesendet und alles hat perfekt funktioniert, aber plötzlich hörte es auf zu arbeiten. Und das zeigt mir das

ErrorException in StreamBuffer.php line 94:

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 StreamBuffer.php line 94
at HandleExceptions->handleError('2', 'stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed', 'C:\xampp\htdocs\coparmex\vendor\swiftmailer\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php', '94', array())
at stream_socket_enable_crypto(resource, true, '9') in StreamBuffer.php line 94
at Swift_Transport_StreamBuffer->startTLS() in EsmtpTransport.php line 313
at Swift_Transport_EsmtpTransport->_doHeloCommand() in AbstractSmtpTransport.php line 118
at Swift_Transport_AbstractSmtpTransport->start() in Mailer.php line 79
at Swift_Mailer->send(object(Swift_Message), array()) in Mailer.php line 385
at Mailer->sendSwiftMessage(object(Swift_Message)) in Mailer.php line 171

Und das passiert nur in meinem localhost, im Webhost funktioniert das einwandfrei. Ich verstehe nicht, was los ist: c

Dies sind meine Google Mail-Einstellungen

MAIL_DRIVER=smtp
MAIL_Host=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=gmail
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
7
Saucyloco

Das ist ein Fehler in Ihrem SSL-Zertifikat. Sie versuchen, eine SSL-Verbindung (verschlüsselte, sichere Verbindung) ohne ein ordnungsgemäßes Zertifikat zu verwenden.

Das liegt daran, dass Sie von localhost aus eine Verbindung herstellen, was nicht sicher ist und die von der Verbindung blockiert wird. Sie können dies vermeiden, indem Sie Ihre localhost-Verbindung in eine SSL-basierte Verbindung ändern.

Siehe diesen Link für weitere Details.

8
Andrey

Fügen Sie den folgenden Code in /config/mail.php hinzu (bearbeitet an Laravel 5.4)

'stream' => [
'ssl' => [
    'allow_self_signed' => true,
    'verify_peer' => false,
    'verify_peer_name' => false,
],
],

sie sollten niemals den Code in Anbietern ändern, wie von Sultan Ahmad vorgeschlagen 

Anmerkung des Herausgebers: Das Deaktivieren der SSL-Überprüfung hat Sicherheitsauswirkungen. Ohne Überprüfung der Authentizität von SSL/HTTPS-Verbindungen kann ein böswilliger Angreifer einen vertrauenswürdigen Endpunkt (z. B. GitHub oder einen anderen entfernten Git-Host) annehmen und Sie sind anfällig für ein Man-in-the-Middle Attacke . Stellen Sie sicher, dass Sie die Sicherheitsprobleme vollständig verstanden haben, bevor Sie dies als Lösung verwenden.

27
Junaid Masood

Ich hatte das gleiche Problem und konnte dieses Problem beheben, indem ich eine Stufe der Authentifizierungssicherheit entfernte. Das heißt, irgendwann fragte mich Gmail nach der Telefonnummer - 2. Stufe der Authentifizierung. Als ich diese 2. Stufe gelöscht habe, war ich wieder glücklich. Ich hoffe ich habe geholfen.

1
Otrebla

Hallo, ich habe dies auch auf Serverebene als sehr nützlich empfunden: Edit \ vendor\swiftmailer\lib\classes\Swift\Transport\StreamBuffer.php Zeile 259 ish. Kommentieren Sie die $ options = array (); und fügen Sie das Folgende hinzu.

$options = array(); 
$options['ssl'] = array('verify_peer' => false,
'verify_peer_name' => false, 'allow_self_signed' => true);

Dies funktioniert mit Laravel 6.0

0