我很难让我的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?任何的想法 ?
答案 0 :(得分:28)
实际上,仔细检查我的收件箱,我看到我收到了Google发来的邮件,说明有人试图进入我的帐户。在那里,我找到了我正在寻找的配置参数的链接:
https://www.google.com/settings/security/lesssecureapps
==>我只需检查:“让我的帐户不那么安全。”,并且能够收到邮件。
与此同时,我发现Gmail SMTP服务变得非常不可思议,并且不时地引入验证码(here)。我似乎没有什么可以做的。另一方面,在某些情况下,我读更强的密码似乎有帮助(here)。
我还必须说,对于新创建的帐户,我无法使其正常运行。甚至取消选中“让我的帐户过于安全”选项。看起来Gmail正在逐步淘汰其SMTP服务。
我想提一下,发送电子邮件有一些优秀且免费(或非常便宜的大批量)替代品。例如,您可以查看Mandrill,SendGrid或Amazon 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帐户时,我收到一条警告消息,说有人试图使用我的用户并传递该尝试被阻止(因此我的错误消息)。它让我确认这是不是我,所以在我点击'那是我'按钮并再次尝试我的代码后,一切正常。