使用 SMTP Gmail 发送的电子邮件未送达

时间:2021-03-20 10:39:57

标签: laravel smtp gmail

我正在尝试使用 Laravel 6 从我的网络服务器发送邮件,如下所示:

Mail::send('feedback', ['email' => $email, 'text' => $text], function($message) use ($receiver)
        {
            $message->to($receiver, 'The receiver')->subject('New Feedback');
        });

我根据谷歌的这个页面将我的登录信息添加到我的 .env 文件中:

https://support.google.com/mail/answer/7126229?hl=de

我的 .env 文件:

MAIL_DRIVER=sendmail
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=xxxx@gmail.com
MAIL_PASSWORD=my_gmail_login_password
MAIL_ENCRYPTION=tls

但是我的邮件没有被发送/递送。我没有收到任何错误消息或任何记录。一切似乎都在工作,但由于某种原因,它们没有得到交付。

我尝试在我的 gmail 设置中启用不安全的应用程序并使用我的 gmail 密码以及创建应用程序密码和使用应用程序密码。这两个选项都不起作用。

有人知道我做错了什么吗?

2 个答案:

答案 0 :(得分:1)

尝试更改 .env 变量如下:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=ssl

答案 1 :(得分:0)

您应该如下设置 .env 属性

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=username
MAIL_PASSWORD=password
MAIL_ENCRYPTION=tls

试试看。