stream_socket_enable_crypto():SSL操作失败,代码为1 Laravel 7

时间:2020-09-10 02:15:36

标签: php gmail laravel-7 laravel-mail

我在使用Google SMTP发送电子邮件时遇到问题。我研究了如何解决此问题,但仍然出现错误stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed.

我在.env文件中的声明

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=app_code_password
MAIL_ENCRYPTION=tls
MAIL_FROM_NAME="${APP_NAME}"

我修复了config / mail.php文件

'mailers' => [
        'smtp' => [
            'transport' => 'smtp',
            'host' => env('MAIL_HOST', 'smtp.gmail.com'),
            'port' => env('MAIL_PORT', 587),
            'encryption' => env('MAIL_ENCRYPTION', 'tls'),
            'username' => env('MAIL_USERNAME'),
            'password' => env('MAIL_PASSWORD'),
            'timeout' => null,
            'auth_mode' => null,
        ],
    
    ...
],

我也在config / mail.php上添加了这一行

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

仍然无效。我多次使用php artisan config:clear。我已经使用不安全的应用程序设置了我的google帐户,激活了2步/方式验证,并且我使用了app_code而不是密码。

0 个答案:

没有答案