电子邮件在Laravel 5.1中发送问题

时间:2015-11-21 14:06:37

标签: php email smtp laravel-5.1

我正在使用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);
    });

1 个答案:

答案 0 :(得分:0)

代码本身看起来很好,但是在.env文件中加密应该是tls而不是ssl;即

MAIL_ENCRYPTION=tls

要仔细检查的另一件事是,您的Google帐户是否设置为允许使用安全性较低的应用。如果不是,那么这可能会给您带来问题,但只需转到您的Google帐户首页,然后按照:登录&安全 - >连接的应用程序&网站 - >允许安全性较低的应用

https://myaccount.google.com/security#connectedapps

只需打开它就可以了。

如果没有,请查看this link,在文章的底部,您可以尝试一些想法。