繁体   English   中英

Laravel 5.4使用Gmail发送电子邮件

[英]Laravel 5.4 send Email with gmail

我正在尝试从Google发送电子邮件,但还没有成功。 通过搜索Google,我做了我发现的所有事情,但仍然无法正常工作。

我的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', 'blablabla'),
],
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'sendmail' => '/usr/sbin/sendmail -bs',

我的.env:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=myemail@gmail.com
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls

我还允许在gmail设置中使用“安全级别较低的应用”。

邮件代码工作完美,我之前在mailtrap.io上进行了尝试。 但是,如果我将其更改为google,只会收到错误消息。

那就是我发送邮件的代码:

    \Mail::to('hardcodededmail@gmail.com')->send(new NewThread($thread));

那就是错误:

(1/1)ErrorException

stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed

有人可以帮我吗?

试试这个,对我有用:

MAIL_PORT=465
MAIL_ENCRYPTION="ssl"

如果您使用的是2FA,也请确保生成应用密码。

则不要使用TLS或SSL。

MAIL_ENCRYPTION=tls

'encryption' => env('MAIL_ENCRYPTION', 'tls'),

都更改为:

MAIL_ENCRYPTION=

'encryption' => env('MAIL_ENCRYPTION', ''),

然后运行:

php artisan config:clear

这应该做的工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM