Php 预期响应代码为250,但得到代码“;535;,带“信息”;535-5.7.8不接受用户名和密码

Php 预期响应代码为250,但得到代码“;535;,带“信息”;535-5.7.8不接受用户名和密码,php,laravel,gmail,Php,Laravel,Gmail,我最近在尝试通过gmail发送邮件时遇到了一个SwiftMail错误 Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted. 我试图通过我的gmail发送邮件,谷歌认为我是垃圾邮件(可能是因为我的请求太快了),我收到了他们的邮件,说我的帐户可以访问,我告诉他们是我。我能够毫无问题地发送邮件,而这件事刚刚发生 这是我的环境文件的内容 MA

我最近在尝试通过gmail发送邮件时遇到了一个SwiftMail错误

 Expected response code 250 but got code "535", with message "535-5.7.8 Username and Password not accepted.
我试图通过我的gmail发送邮件,谷歌认为我是垃圾邮件(可能是因为我的请求太快了),我收到了他们的邮件,说我的帐户可以访问,我告诉他们是我。我能够毫无问题地发送邮件,而这件事刚刚发生

这是我的环境文件的内容

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=talentscoutphil@gmail.com
MAIL_PASSWORD=mypasswordhere
MAIL_FROM=talentscoutphil@gmail.com
MAIL_NAME=talentscout

我在互联网上进行了研究,一些答案包括启用“访问较小的应用程序””和“解锁gmail验证码”,遗憾的是,在我找到两步验证之前,这对我来说并不起作用

我所做的是:

  • 对google启用两步验证

  • 创建应用程序密码以供系统使用

  • 我选择了其他人(自定义名称)并单击了生成

  • 转到laravel中的我的环境文件并编辑了此文件

    邮箱用户名=talentscoutphil@gmail.com

    MAIL_PASSWORD=生成的密码

  • 重启了我的apache服务器,砰的一声它再次工作

  • 这就是我的解决方案。我这样做至少是为了让其他人不要浪费时间去寻找可能的答案。

    这一步对我来说很有效。。。没有两步验证。 因为我已经为我的本地开发创建了一个虚拟帐户,所以我对这个设置没有意见。 确保只有在您的帐户不包含任何个人或任何关键数据时才执行此操作。 这只是解决此错误的另一种方法,并不安全

    我打开了设置,让安全性较低的应用程序可以访问。 表格如下:
    我也遇到了同样的问题,更改我的gmail密码解决了这个问题,而且别忘了启用

    我一切都很好。还启用了不太安全的应用程序选项。不过,我还是犯了错误。我所做的是:

    • 谷歌将向您发送严重安全警报
    • 那么你必须授权该活动。(点击“是的,那是我键入的东西)
    • 然后你可以再次尝试发送电子邮件
    这是我的.env邮件设置

    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.googlemail.com
    MAIL_PORT=587
    MAIL_USERNAME=example@gmail.com
    MAIL_PASSWORD=hello27
    MAIL_ENCRYPTION=tls
    
    我得到了与问题中所述相同的错误,但使用了

    php artisan config:cache
    

    一切正常

    我有同样的问题,我在下面解决了这个问题

    去gmail.com

    我的帐户

    使能

    允许不太安全的应用:打开


    it start works

    出于安全原因,Gmail倾向于阻止邮件地址作为用户名在其他应用程序中的使用。您应该为邮件目的创建新的电子邮件地址,或者必须转到不太安全的应用程序访问并打开不太安全的应用程序的访问。Gmail将向您发送一封确认邮件,您可以在邮件中确认这些更改是您自己做出的。只有这样,您才能通过应用程序使用这些邮寄地址进行邮寄。

    无需更新config/mail.php中的任何内容。只需使用此特定密钥将凭证放入.env。这是我的.env文件

    MAIL_DRIVER=smtp
    MAIL_HOST=smtp.gmail.com
    MAIL_PORT=587
    MAIL_USERNAME=example@gmail.com
    MAIL_PASSWORD=********
    MAIL_ENCRYPTION=tls
    
    经过长时间的调试和谷歌搜索,我发现了同样的问题,我找到了解决方案。这是通过启用不太安全的应用程序实现的。电子邮件开始工作了


    如果你的gmail通过两步验证是安全的,你就不能启用不那么安全的应用程序。所以,关闭两步验证,启用不太安全的应用程序。通过单击此处,我遇到了相同的问题,然后我执行了两个步骤:

    • 在您的google帐户安全策略上启用“允许不太安全的应用”
    • 重新启动本地服务器

      • 我有这个问题。首先检查了凭据和用户名,它们都很好,然后重新启动了我的服务器(docker停止/启动),现在可以工作了。我相信有缓存的东西

        我会一步一步地跟踪,但无法让它工作。请分享你的其他变量(例如加密、端口)。我自己回答。加密
        tls
        ,端口
        587
        。但最重要的是:
        php-artisan-config:cache
        更新env变量!对我来说,它只是通过禁用2步验证加上1来获得答案。它也在进行
        yii2
        的工作。我完全按照这些步骤做了,解决了我的问题。使用应用程序密码后,我禁用了2步验证,它仍然有效。太棒了!看起来我们在解决方案上存在分歧,但至少你已经成功了!这对我来说已经足够了!谢谢:)在Symfony 4.3中为我工作。错误为:app.error:刷新电子邮件队列时发生异常:无法使用2个可能的身份验证程序在用户名为“xxxxxx”的SMTP服务器上进行身份验证。验证器登录。。。。。。。。。。。不接受用户名和密码。请在Symfony 4.3中为我工作。错误为:app.error:刷新电子邮件队列时发生异常:无法使用2个可能的身份验证程序在用户名为“xxxxxx”的SMTP服务器上进行身份验证。验证器登录。。。。。。。。。。。不接受用户名和密码。