在Laravel中配置电子邮件

时间:2018-10-25 08:58:05

标签: php laravel swiftmailer laravel-mail

我正在尝试在Laravel应用程序中设置电子邮件,我的环境文件如下:

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

我根据问题Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted

中给出的答案进行了尝试

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

最后我做了php artisan config:cache

  

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

请帮助我。谢谢。

4 个答案:

答案 0 :(得分:2)

  

需要为配置less secure创建新的Email Gmail帐户。您的电子邮件应该为not use in more than 3 projects

答案 1 :(得分:1)

如果您不能通过以上所有方法解决此问题,请转到您的帐户设置https://myaccount.google.com/security启用两步验证并生成应用密码,这种方法肯定会有效。

答案 2 :(得分:1)

使用 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
    
  2. 允许安全性较低的应用

<块引用>

转到 Google 帐户 > 安全 > 允许不太安全的应用。

  1. 允许使用新设备,或者允许从移动设备上的 google 评论通知中进行新签名,或者如果这不起作用。使用相同的 gmail id 登录并打开下面的链接,它将使您能够允许最近的登录尝试。 (只需要一次验证我们的 Laravel 应用程序)
<块引用>

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

P.S. - 如果您启用了两步验证,则创建应用密码并使用该密码而不是 GMAIL_PASSWORD

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

答案 3 :(得分:0)

我有同样的问题。即使我不使用验证码链接,也可以解决此问题。似乎还有一个额外的步骤允许新设备打开gmail帐户。

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

我已经在下面预先设置了

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