【问题标题】:Script Sending mails with Gmail: Failed to authenticate on SMTP server使用 Gmail 发送邮件的脚本:无法在 SMTP 服务器上进行身份验证
【发布时间】:2015-05-19 20:43:11
【问题描述】:

我很难让我的 PHP 脚本使用 SMTP Gmail 帐户发送电子邮件。我正在使用 PHP 和 Symfony2 SwiftMailer,但似乎问题出在我的 Gmail 帐户配置上。在我的日志中,我最终得到以下错误消息:

"ERROR - Exception occurred while flushing email queue: Failed to authenticate on SMTP server with username "new.user.name@gmail.com" using 1 possible authenticators"

幸运的是,我有另一个 Gmail 帐户与另一个应用程序一起工作,无缝。在我的新盒子上拯救这些参数(用户和密码),一切都很好。

在 parameters.yml 我有(工作正常):

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: old.user.account@gmail.com
    mailer_password: old-password

这是给出身份验证错误消息的版本:

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: new.user.account@gmail.com
    mailer_password: new-password

不用说我已经检查了,重新检查并再次检查了用户和密码。

我在新帐户的“转发和 POP/IMAP”下查看了我的 Gmail 帐户设置:我找不到任何关于 SMTP 的信息。

搜索让我意识到某些验证码政策可能会干扰 SMTP 帐户。我读到here,我应该尝试输入一个验证码短语,我输入了here,并收到了很好的消息:“帐户访问已启用”、“请尝试从您的新设备或应用程序再次登录您的 Google 帐户。”

再试一次。没有运气。

所有这些都发生在我的本地开发环境中(OK 邮件和 NOT OK 邮件)。

如何通过新创建的 Gmail 帐户使用 SMTP?任何想法 ?

【问题讨论】:

    标签: email smtp gmail


    【解决方案1】:

    实际上,我仔细检查了我的收件箱,发现我收到了一封来自 Google 的邮件,说明有人试图进入我的帐户。在那里,我找到了我正在寻找的配置参数的链接:

    https://www.google.com/settings/security/lesssecureapps
    

    ==> 我只需要检查一下:“让我的帐户不那么安全。”,然后就可以收到邮件了。

    与此同时,我发现 Gmail SMTP 服务变得非常不可靠,并且不时引入验证码(here)。我似乎对此无能为力。另一方面,在某些情况下,我阅读更强的密码似乎会有所帮助(here)

    我还必须说,使用新创建的帐户,我无法正常工作。甚至取消选中“使我的帐户过于安全”选项。看起来 Gmail 确实正在逐步淘汰其 SMTP 服务。

    更新

    我想提一下,有一些优秀且免费的(或者对于大量发送非常非常便宜)的电子邮件替代方案。例如,您可以查看MandrillSendGridAmazon SES 等。

    【讨论】:

      【解决方案2】:

      使用链接https://www.google.com/settings/security/lesssecureapps 向我发送了消息:您的管理员已禁用此设置。

      我必须访问 admin.google.com 并使用相同的帐户详细信息登录并在那里查找相同的设置。完整的网址是https://admin.google.com/AdminHome#ServiceSettings/notab=1&service=securitysetting&subtab=lesssecureappsaccess

      然后第一个链接有效,所以我也启用了不太安全的应用程序。现在我可以使用 Gmail 的 SMTP。

      【讨论】:

        【解决方案3】:

        也许这对某人有帮助:我也遇到过 gmail,但在我的情况下,当我登录到我在代码中配置为 SMTP 邮件发件人用户的 gmail 帐户时,我收到一条警告消息,说有人试图使用我的用户并通过并且该尝试被阻止(因此我的错误消息)。它要求我确认那是不是我,所以在我点击“那是我”按钮并再次尝试我的代码后一切正常。

        【讨论】:

          【解决方案4】:

          让我的帐户不那么安全帮助了我https://myaccount.google.com/lesssecureapps

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-12-23
            • 2015-05-05
            • 2021-03-16
            • 2017-03-10
            • 1970-01-01
            • 2013-10-08
            • 1970-01-01
            • 2011-10-14
            相关资源
            最近更新 更多