我想通过localhost的gmail smtp从我的laravel项目发送邮件。
这是我的.env文件
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls
这是我的config / mail.php文件
'driver' => env('MAIL_DRIVER', 'smtp'),
'host' => env('MAIL_HOST', 'smtp.gmail.com'),
'port' => env('MAIL_PORT', 587),
'from' => [
'address' => env('MAIL_FROM_ADDRESS', 'myemail@gmail.com'),
'name' => env('MAIL_FROM_NAME', 'My Name'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('myemail@gmail.com'),
'password' => env('password'),
当我运行脚本时,它会给我以下错误:
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
请注意,我已经在php.ini文件中启用了扩展程序。
答案 0 :(得分:1)
答案 1 :(得分:0)
删除
来自.env文件的MAIL_ENCRYPTION=tls
并在您的mail.php中注释以下代码行:
'encryption' => env('MAIL_ENCRYPTION', 'tls'), //comment this line
希望能解决你的问题。
答案 2 :(得分:-2)
在你的环境中使用:
<强> MAIL_DRIVER = sendmail的强>