在 Laravel 中配置电子邮件

Nit*_*mar 5 php swiftmailer laravel laravel-mail

我正在尝试在我的 Laravel 应用程序中设置电子邮件,我的 env 文件是这样的:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=noreply@xxx.com
MAIL_PASSWORD=xxx
MAIL_ENCRYPTION=tls
Run Code Online (Sandbox Code Playgroud)

我根据这个问题中给出的答案尝试了预期响应代码 250 但得到代码“535”,消息“535-5.7.8 用户名和密码不被接受

我按照步骤,启用了两步验证,然后创建了应用程序密码并配置了我的.env文件

最后我做到了 php artisan config:cache

无法使用 3 个可能的身份验证器在用户名为“noreply@xxx.com”的 SMTP 服务器上进行身份验证。身份验证器登录返回 Swift_TransportException:预期响应代码 235,但得到代码“534”,消息为“534-5.7.14

这个你能帮我吗。谢谢。

Abh*_*han 7

使用 Laravel 配置 Gmail/Google SMTP 的步骤

  1. .env文件设置

     MAIL_DRIVER=smtp
     MAIL_HOST=smtp.googlemail.com
     MAIL_PORT=465
     MAIL_USERNAME=GMAIL_USERNAME
     MAIL_PASSWORD=GMAIL_PASSWORD
     MAIL_ENCRYPTION=ssl
    
    Run Code Online (Sandbox Code Playgroud)
  2. 允许安全性较低的应用程序

转至 Google 帐户 > 安全 > 允许安全性较低的应用程序。

  1. 允许新设备,或者允许来自您的移动设备的 Google 审核通知的新签名,或者如果这不起作用。使用相同的 Gmail ID 登录并打开下面的链接,它将允许您允许最近的登录尝试。(仅需要一次来验证我们的 Laravel 应用程序)

https://www.google.com/accounts/DisplayUnlockCaptcha

PS - 如果您启用了两步验证,则创建应用程序密码并使用它来代替GMAIL_PASSWORD

参考 - https://support.google.com/mail/answer/7126229

  • 这个“UnlockCaptcha”救了我的命。谢谢。 (4认同)

小智 4

我有同样的问题。验证码链接解决了这个问题,尽管我不使用它。似乎还需要一个额外的步骤来允许新设备打开 Gmail 帐户。

https://support.google.com/mail/answer/7126229?visit_id=636865986363810933-1186759849&rd=1#cantsignin

我已经事先在下面进行了设置

允许安全性较低的应用程序:如果您不使用两步验证,您可能需要允许安全性较低的应用程序访问您的帐户。