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

Posted

技术标签:

【中文标题】无法在 Laravel 6 中的 SMTP 服务器上进行身份验证【英文标题】:Failed to authenticate on SMTP server in Laravel 6 【发布时间】:2020-08-07 22:17:39 【问题描述】:

我正在尝试在我的 Laravel 6 应用程序中使用 smtp 电子邮件功能。

这是我的 .env 文件代码:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=******@gmail.com
MAIL_PASSWORD=******
MAIL_ENCRYPTION=tls

这是有趣的部分:

    在我的本地主机上运行良好 它也在我的服务器上工作(没有 http) 当我在服务器中应用 https 时它停止工作。

它给了我以下错误:

未能使用 3 个可能的身份验证器在用户名“*********@gmail.com”的 SMTP 服务器上进行身份验证。身份验证器登录返回预期响应代码 235,但得到代码“534”,消息“534-5.7.14” 534-5.7.14 请通过网络浏览器登录,然后重试。 534-5.7.14 了解更多信息 534 5.7.14 https://support.google.com/mail/answer/78754 g6sm37628450pja.2 - gsmtp ”。身份验证器 PLAIN 返回了预期的响应代码 235,但得到了代码“534”,消息为“534-5.7.14” 534-5.7.14 请通过网络浏览器登录,然后重试。 534-5.7.14 了解更多信息 534 5.7.14 https://support.google.com/mail/answer/78754 g6sm37628450pja.2 - gsmtp ”。身份验证器 XOAUTH2 返回预期的响应代码 250,但得到代码“535”,消息“535-5.7.8 用户名和密码不被接受。了解更多信息 535 5.7.8 https://support.google.com/mail/?p=BadCredentials g6sm37628450pja.2 - gsmtp ”。

注意:

    启用了允许不太安全的日志记录 在三个应用程序中没有使用相同的电子邮件来实现 SMTP 电子邮件功能。

【问题讨论】:

@DaImTo :这是我正在关注的在 Laravel 中使用 SMTP 发送电子邮件的标准流程。它在我的本地主机、服务器 (http) 中运行良好,但在 https 中无法运行。 【参考方案1】:

电子邮件在本地主机中工作,不太安全的帐户帐户验证是正确的

但是你不能在超过 3 个项目中使用你的电子邮件,所以你应该停止在其他帐户上使用这个电子邮件。

【讨论】:

【参考方案2】:

检查您的 gmail 密码是否有 $ 字符,如果有,请更改它。 它对我有用

【讨论】:

请添加更多详细信息以扩展您的答案,例如工作代码或文档引用。

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

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

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

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

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

Laravel:无法使用 2 个可能的身份验证器在 SMTP 服务器上使用用户名进行身份验证

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