首页 > 解决方案 > Laravel 6 发送邮件

问题描述

在使用 Laravel smtp 驱动程序发送邮件时,我遇到了身份验证问题。

.env文件:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=account@gmail.com
MAIL_FROM_ADDRESS=account@gmail.com
MAIL_PASSWORD=app_password
MAIL_ENCRYPTION=tls

它给出了以下错误:

“需要 530-5.7.0 身份验证。”

所以所有典型的解决方案都不起作用。还有什么可能导致这个问题?

我也尝试过将 smtp.vivaldi.net 与 vivaldi 帐户一起使用,它进行身份验证,但出现错误:

“没有有效的收件人”

而收件人电子邮件肯定是有效的,这对我来说也很奇怪。

标签: laravelemailauthentication

解决方案


我已经多次偶然发现此问题,因此我不记得收到的确切错误消息,但这是我的假设。

Google 有一个名为“不太安全的应用程序”的选项,您需要启用该选项才能通过其 SMTP 接口直接发送邮件。你能检查这个标志是否被禁用并尝试启用它吗?

https://support.google.com/a/answer/6260879

除此之外,谷歌正在慢慢弃用此功能。从 2020 年中期开始,您将无法再启用此标志,他们将在 2021 年将其完全删除。

参考:https ://gsuiteupdates.googleblog.com/2019/12/less-secure-apps-oauth-google-username-password-incorrect.html


推荐阅读