使用 Gmail 发送邮件的脚本:无法在 SMTP 服务器上进行身份验证
Script Sending mails with Gmail: Failed to authenticate on SMTP server
我很难让 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
不用说,我已经检查过、再检查过、再检查过用户名和密码。
我在新帐户 "Forwarding and POP/IMAP" 下检查了我的 Gmail 帐户设置:我找不到任何关于 SMTP 的信息。
搜索让我意识到某些验证码政策可能会干扰 SMTP 帐户。我阅读了 here that I should try to enter a captcha phrase, which I do here,并收到了很好的消息:"Account access enabled"、"Please try signing in to your Google account again from your new device or application."
正在重试。运气不好。
所有这些都是在我的本地开发环境中发生的(正常邮件和不正常邮件)。
我如何才能通过新创建的 Gmail 帐户使用 SMTP?任何想法 ?
实际上,仔细检查我的收件箱,我看到我收到了一封来自 Google 的邮件,说明有人试图进入我的帐户。在那里,我找到了我正在寻找的配置参数的 link:
https://www.google.com/settings/security/lesssecureapps
==> 我只需要检查:"Make my account less secure.",并且能够发送邮件。
与此同时,我发现 Gmail SMTP 服务变得非常不可靠并且时不时地引入验证码 (here). I seems there is not much you can do about it. On the other hand, I read stronger passwords seem to help in some cases (here)。
我还必须说,使用新创建的帐户,我无法正常工作。甚至取消选中 "make my account overly secure" 选项。看来 Gmail 确实正在逐步淘汰其 SMTP 服务。
更新
我想提一下,有一些优秀且免费的(或者对于大批量来说非常非常便宜)发送电子邮件的替代方法。例如,您可以检查 Mandrill, SendGrid or Amazon SES,等等。
使用 link https://www.google.com/settings/security/lesssecureapps 给我消息:此设置已被您的管理员禁用。
我不得不去 admin.google.com 并使用相同的帐户详细信息登录并在那里寻找相同的设置。完整 url 是 https://admin.google.com/AdminHome#ServiceSettings/notab=1&service=securitysetting&subtab=lesssecureappsaccess
然后第一个 link 起作用了,所以我也在那里启用了安全性较低的应用程序。现在我可以使用 Gmails SMTP 了。
也许这对某人有帮助:我遇到了与 gmail 相同的情况,但就我而言,当我登录到我在代码中配置为 SMTP 邮件发件人用户的 gmail 帐户时,我收到一条警告消息有人试图使用我的用户并通过并且该尝试被阻止(因此我的错误消息)。它要求我确认那是不是我,所以在我单击 'That was me' 按钮并再次尝试我的代码后一切正常。
降低我的帐户安全性对我有帮助https://myaccount.google.com/lesssecureapps
我很难让 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
不用说,我已经检查过、再检查过、再检查过用户名和密码。
我在新帐户 "Forwarding and POP/IMAP" 下检查了我的 Gmail 帐户设置:我找不到任何关于 SMTP 的信息。
搜索让我意识到某些验证码政策可能会干扰 SMTP 帐户。我阅读了 here that I should try to enter a captcha phrase, which I do here,并收到了很好的消息:"Account access enabled"、"Please try signing in to your Google account again from your new device or application."
正在重试。运气不好。
所有这些都是在我的本地开发环境中发生的(正常邮件和不正常邮件)。
我如何才能通过新创建的 Gmail 帐户使用 SMTP?任何想法 ?
实际上,仔细检查我的收件箱,我看到我收到了一封来自 Google 的邮件,说明有人试图进入我的帐户。在那里,我找到了我正在寻找的配置参数的 link:
https://www.google.com/settings/security/lesssecureapps
==> 我只需要检查:"Make my account less secure.",并且能够发送邮件。
与此同时,我发现 Gmail SMTP 服务变得非常不可靠并且时不时地引入验证码 (here). I seems there is not much you can do about it. On the other hand, I read stronger passwords seem to help in some cases (here)。
我还必须说,使用新创建的帐户,我无法正常工作。甚至取消选中 "make my account overly secure" 选项。看来 Gmail 确实正在逐步淘汰其 SMTP 服务。
更新
我想提一下,有一些优秀且免费的(或者对于大批量来说非常非常便宜)发送电子邮件的替代方法。例如,您可以检查 Mandrill, SendGrid or Amazon SES,等等。
使用 link https://www.google.com/settings/security/lesssecureapps 给我消息:此设置已被您的管理员禁用。
我不得不去 admin.google.com 并使用相同的帐户详细信息登录并在那里寻找相同的设置。完整 url 是 https://admin.google.com/AdminHome#ServiceSettings/notab=1&service=securitysetting&subtab=lesssecureappsaccess
然后第一个 link 起作用了,所以我也在那里启用了安全性较低的应用程序。现在我可以使用 Gmails SMTP 了。
也许这对某人有帮助:我遇到了与 gmail 相同的情况,但就我而言,当我登录到我在代码中配置为 SMTP 邮件发件人用户的 gmail 帐户时,我收到一条警告消息有人试图使用我的用户并通过并且该尝试被阻止(因此我的错误消息)。它要求我确认那是不是我,所以在我单击 'That was me' 按钮并再次尝试我的代码后一切正常。
降低我的帐户安全性对我有帮助https://myaccount.google.com/lesssecureapps