Laravel - SMTP服务器身份验证失败,用户名为

6
使用 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 账户上启用了双重身份验证? - Can Celik
@CanCelik - 是的,我做了。我已经启用它了。 - mikefolu
1
请查看以下链接以解决您的问题 => https://dev59.com/Ml8d5IYBdhLWcg3wgye4 - Can Celik
这个回答解决了你的问题吗?当Gmail开启两步验证时,发送邮件失败 - Spholt
这个回答解决了您的问题吗?如何在Laravel中使用Gmail发送邮件? - miken32
4个回答

6

今天我遇到了你的同样的问题。几个月来,SMTP 一直运行良好,突然今天它给了我同样的错误。

就我所知,我只需在 Google 账户 -> 安全性 -> 应用程序密码 中重新生成密码即可解决问题。

这不是我第一次遇到这种情况。也许这是某种谷歌保护措施......但我没有在任何地方找到证据。无论如何,这非常令人烦恼。

我想知道的是如何捕捉这种错误,以便我们可以及时介入。


1
有相同的问题,使用 Laravel 7。谷歌正在阻止连接。我使用了我的备用服务器,一切正常。 - Xavi Baz
我将我的Laravel应用程序连接到Gmail通过从安全性中的应用程序密码获取密码通过在我的第二个Gmail帐户上启用两步验证 - saber tabatabaee yazdi

2
我在symfony中遇到了同样的问题。我登录了我的Google账户,并通过此链接生成了一个应用程序密码: 生成密码的应用 请注意,您将收到一个包含多个字符的密码。
例如:'azer tyui opq'
您需要使用url代码替换空格。
例如:azer%20tyui%20opq
在我的env文件中,对我来说这很有效。

0

1- 您必须从Google帐户部分的安全部分启用双重验证,登录到Google部分。

2- 完成双步验证后,在相同的登录到Google部分中,转到应用程序密码部分,并为您想要的服务、设备或程序(PHPMailer或其他任何东西)创建一个密码。 (在应用程序密码页面上,在“单击选择应用程序”部分中选择其他选项,将显示一个文本字段,您应输入PHPMailer或所需名称,然后按Generate按钮,它将为您提供16个字符的密码。)

3- 复制显示的密码并在编码部分输入PHPMailer密码。


0

在 Google 账户上创建应用程序密码。您需要启用两步验证才能使用此功能。

密码将类似于这样,中间有空格 "** **** ***" ***请记得将 Gmail 应用程序密码放入 .env 文件中作为邮件密码。

将其作为电子邮件密码输入,但不要在其中加入空格,如下所示,请将其放在双引号中。

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=example@gmail.com
MAIL_PASSWORD="password"
MAIL_FROM_ADDRESS=example@gmail.com
MAIL_FROM_NAME="my app"
MAIL_ENCRYPTION=tls

你现在可以开始了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接