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

mik*_*ika 10 email gmail smtp

我很难让我的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"
Run Code Online (Sandbox Code Playgroud)

幸运的是,我有另一个Gmail帐户正在使用另一个应用程序,无数.在我的新盒子上拯救这些参数(用户和密码),eveything工作得很好.

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

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: old.user.account@gmail.com
    mailer_password: old-password
Run Code Online (Sandbox Code Playgroud)

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

parameters:
    mailer_transport: gmail
    mailer_host: ~
    mailer_user: new.user.account@gmail.com
    mailer_password: new-password
Run Code Online (Sandbox Code Playgroud)

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

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

搜索让我意识到某些验证码策略可能会干扰SMTP帐户.我在这里读到,我应该尝试输入一个验证码短语,我在这里输入,并收到一条好消息:"启用帐户访问权限","请尝试从新设备或应用程序再次登录到您的Google帐户."

再试一次.没运气.

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

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

mik*_*ika 28

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

https://www.google.com/settings/security/lesssecureapps
Run Code Online (Sandbox Code Playgroud)

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

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

我还必须说,对于一个新创建的帐户,我无法让这个工作.甚至取消选中"让我的帐户过于安全"选项.看起来Gmail正在逐步淘汰其SMTP服务.

UPDATE

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