Laravel 5.4用Gmail发送电子邮件
问题描述:
我正在尝试从Google发送电子邮件,但尚未完成。我通过谷歌搜索完成了所有工作,但仍无法运行。Laravel 5.4用Gmail发送电子邮件
我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', '[email protected]'),
'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
[email protected]
MAIL_PASSWORD=mypassword
MAIL_ENCRYPTION=tls
我也允许在Gmail设置 “不够安全的应用”。
邮件代码工作完美,我已经在mailtrap.io上试过了。但是,如果我将其更改为谷歌,我只会得到错误。
这就是我的发送邮件代码:
\Mail::to('[email protected]')->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
有人可以帮助我吗?
答
然后不要使用TLS或SSL。
MAIL_ENCRYPTION=tls
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
变化既:
MAIL_ENCRYPTION=
'encryption' => env('MAIL_ENCRYPTION', ''),
然后运行:
php artisan config:clear
这应该做的工作
看一看在这个[问题](https://开头的github .com/PHPMailer/PHPMailer/issues/368) – Webinion
谢谢!这帮助了我。我在本地主机上进行编程,如果有新事物发挥作用,我将它放到我的实时网页上。由于在本地主机上工作,我不会发送邮件。我现在在我的网页上使用了相同的代码,它的工作非常完美。多谢,伙计! – dwdawdawdaw