脚本使用Gmail发送邮件:无法在SMTP服务器上进行身份验证

时间:2015-03-17 12:12:44

标签: email smtp gmail

我很难让我的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帐户正在使用另一个应用程序,无数。在我的新盒子上拯救这些参数(用户和密码),eveything工作正常。

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

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

以下是给出auth错误消息的版本:

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

毋庸置疑,我已经检查过,重新检查并再次检查用户和密码。

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

搜索让我意识到某些验证码策略可能会干扰SMTP帐户。我看了here,我应该尝试输入验证码,我会here,并收到一条好消息:“启用帐户访问权限”,“请尝试从您的帐户中再次登录新设备或应用程序。“

再试一次。没有运气。

所有这一切都发生在我当地的开发环境中(包括OK邮件,而不是OK邮件)。

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

3 个答案:

答案 0 :(得分:28)

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

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

==>我只需检查:“让我的帐户不那么安全。”,并且能够收到邮件。

与此同时,我发现Gmail SMTP服务变得非常不可思议,并且不时地引入验证码(here)。我似乎没有什么可以做的。另一方面,在某些情况下,我读更强的密码似乎有帮助(here)

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

更新

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

答案 1 :(得分:2)

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

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

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

答案 2 :(得分:0)

也许这有助于某人:我遇到了与gmail相同的遭遇,但在我的情况下,当我登录我在代码中配置为我的代码作为SMTP邮件发件人用户的Gmail帐户时,我收到一条警告消息,说有人试图使用我的用户并传递该尝试被阻止(因此我的错误消息)。它让我确认这是不是我,所以在我点击'那是我'按钮并再次尝试我的代码后,一切正常。