我在使用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而不是密码。