Laravel - 无法使用用户名在 SMTP 服务器上进行身份验证

Posted

技术标签:

【中文标题】Laravel - 无法使用用户名在 SMTP 服务器上进行身份验证【英文标题】:Laravel - Failed to authenticate on SMTP server with username 【发布时间】:2020-06-11 18:47:17 【问题描述】:

使用 Laravel-5.8 发送通知,我收到此错误:

Failed to authenticate on SMTP server with username "noblemfd@gmail.com" using 3 possible authenticators. Authenticator LOGIN returned Expected response code 23 ▶
535 5.7.8  https://support.google.com/mail/?p=BadCredentials n13sm8684140wmd.21 - gsmtp
". Authenticator PLAIN returned Expected response code 235 but got code "535", with message "535-5.7.8 
Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials n13sm8684140wmd.21 - gsmtp
". Authenticator XOAUTH2 returned Expected response code 250 but got code "535", with message "535-5.7.8 
Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials n13sm8684140wmd.21 - gsmtp

以前还可以,但突然开始不正常了

这是我的 .env

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=noblemfd@gmail.com
MAIL_PASSWORD=****
MAIL_ENCRYPTION=ssl

我该怎么办?

谢谢

【问题讨论】:

您最近是否使用该 gmail 帐户启用了 2 因素身份验证? @CanCelik - 是的,我做到了。我启用了它。 请查看您的问题的答案 => ***.com/questions/26736062/… 这能回答你的问题吗? Sending email fails when two factor authentication is on for Gmail 这能回答你的问题吗? How to to send mail using gmail in Laravel? 【参考方案1】:

我今天也遇到了同样的问题。几个月来,smtp 一直运行良好,但今天突然出现了同样的错误。

对于值得我简单解决的问题,在 google Account -> Security -> App passwords 中重新生成密码。

这不是第一次发生在我身上。也许这是某种谷歌保护......但我没有在任何地方找到证据。总之很烦人。

我想知道的是如何捕捉这种错误,以便我们及时进行干预。

【讨论】:

在 Laravel 7 中遇到了同样的问题。Google 正在阻止连接。我使用了我的备用服务器,一切正常。

以上是关于Laravel - 无法使用用户名在 SMTP 服务器上进行身份验证的主要内容,如果未能解决你的问题,请参考以下文章

如何在Laravel SMTP中解决2个可能的身份验证器错误

无法在 Laravel 6 中的 SMTP 服务器上进行身份验证

如何解决 Laravel SMTP 中的 2 个可能的身份验证器错误

使用带有 Laravel 的 Outlook / Office365 发送电子邮件 - 无法在 SMTP 服务器上进行身份验证

无法与主机 smtp.gmail.com [#0] 建立连接 - LARAVEL / XAMPP / PHP7

Laravel 8:无法与主机 smtp.gmail.com 建立连接