我正在使用laravel 5.1,我正在尝试从localhost发送来自laravel应用程序的电子邮件。
我在.env文件中配置了我的电子邮件凭据但是,我得到需要身份验证错误。 我附加了 .env 文件和控制器文件的代码。
.ENV
APP_ENV=local
APP_DEBUG=true
APP_KEY=1MJzLfnALmtppcbfzoVtlf8rzsFX94nm
DB_HOST=localhost
DB_DATABASE=real_estate
DB_USERNAME=root
DB_PASSWORD=''
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=my_account@gmail.com
MAIL_PASSWORD=my_password
MAIL_ENCRYPTION=ssl
控制器代码
$subject = 'Welcome!';
Mail::send('mail', ['key' => 'value'], function($message) use ($subject) {
// note: if you don't set this, it will use the defaults from config/mail.php
$message->from('my_account@gmail.com', 'Sender Name');
$message->to('receiver_account@gmail.com', 'John Smith')
->subject($subject);
});
答案 0 :(得分:0)
代码本身看起来很好,但是在.env
文件中加密应该是tls
而不是ssl
;即
MAIL_ENCRYPTION=tls
要仔细检查的另一件事是,您的Google帐户是否设置为允许使用安全性较低的应用。如果不是,那么这可能会给您带来问题,但只需转到您的Google帐户首页,然后按照:登录&安全 - >连接的应用程序&网站 - >允许安全性较低的应用
https://myaccount.google.com/security#connectedapps
只需打开它就可以了。
如果没有,请查看this link,在文章的底部,您可以尝试一些想法。