无法从localhost发送带有Laravel和gmail的电子邮件

时间:2017-07-30 10:46:07

标签: php laravel email smtp

我想通过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文件中启用了扩展程序。

3 个答案:

答案 0 :(得分:1)

您的.env看起来很干净,但您需要仔细检查是否更改了安全性较低的应用的帐户访问权限。

转到Less secure apps部分,然后设置为有效。

希望这对你有用!!!

答案 1 :(得分:0)

删除 来自.env文件的MAIL_ENCRYPTION=tls

并在您的mail.php中注释以下代码行:

'encryption' => env('MAIL_ENCRYPTION', 'tls'), //comment this line

希望能解决你的问题。

答案 2 :(得分:-2)

在你的环境中使用:

<强> MAIL_DRIVER = sendmail的