44

我正在尝试使用由 Google Apps 配置的电子邮件从 Django 发送电子邮件,我在settings.py文件中的配置如下所示:

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'contact@mydomain.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

当我尝试使用以下方式发送电子邮件时:

from django.core.mail import send_mail

send_mail("Happy new year", "We wish you the best for 3001",
    "contact@mydomain.com", ["someuser@gmail.com"])

我收到以下错误:

SMTPAuthenticationError: 
(535, '5.7.1 Please log in with your web browser and then try again. 
 Learn more at
 5.7.1 https://support.google.com/mail/bin/answer.py?answer=78754 k2sm758604obl.14')

由于我在没有图形用户界面的远程服务器上工作,我什至无法尝试从浏览器登录。

4

15 回答 15

61

只需转到 https://accounts.google.com/DisplayUnlockCaptcha 并单击“继续”。这将允许从其他服务器访问。

于 2013-10-05T10:28:24.120 回答
32

在黄瓜/水豚/硒测试中,我已经搞砸了几个小时 - 发现了一些愚蠢的东西,可以很好地解决这个错误,保证

再熟悉不过的错误:

Please log in via your web browser: https://support.google.com/mail/accounts/answer/78754 (Failure) (Net::IMAP::NoResponseError)

事实证明,有两个“允许不太安全的应用程序”切换需要更改以允许从未知设备/IMAP 登录。

一个在这里https ://myaccount.google.com/security?pli=1#connectedapps (页面底部)

还有一个https ://www.google.com/settings/security/lesssecureapps

需要更改这两个 GODFORSAKEN TOGGLES 以消除此错误消息。

编辑:来自用户 Milothicus(https://stackoverflow.com/users/3538026/milothicus):在 myaccount.google.com 中,在“登录和安全”下,选择“连接的应用程序和网站”。这也有一个“允许不太安全的应用程序”的选项。打开这个后,我的服务器现在可以向我发送一封自动电子邮件。

于 2015-10-20T18:47:21.433 回答
14

当我尝试访问我的帐户时,我收到了包含此链接的这封电子邮件。 https://www.google.com/settings/security/lesssecureapps

完成测试后,您可以打开然后可能关闭。

于 2015-03-04T13:27:56.427 回答
7

我收到了来自 Google Apps 支持的以下回复:

您需要打开出站中继。去做这个:

  1. 在 google.com/a/yourdomain.com 上登录您的帐户
  2. 单击设置选项卡,然后在左侧列中选择电子邮件。
  3. 在出站中继部分中,选择在配置域外托管的“发件人”地址时允许用户通过外部 SMTP 发送邮件。
  4. 单击保存更改。

他们还提供了一个帮助链接: http: //support.google.com/a/bin/answer.py ?hl=en&answer=176054

打开出站中继并使用代理再次登录网络邮件后(感谢@DaniloBargen 和@joshcartme),问题得到解决。我已经阅读了解释出站中继是什么的链接,但我不确定我为什么需要它(我不相信我使用的是外部 SMTP 服务器)。

由于我不确定这是解决问题的原因,因此在得到一些确认之前,我不会将响应标记为已接受。

于 2012-04-05T18:56:07.980 回答
5

设置到相关服务器的 ssh 隧道,以便您可以从家用计算机使用服务器的 IP 登录到 gmail Web 客户端。您可能需要隧道端口 80 和端口 443,也许只是 443。通过 Web 客户端登录后,根据 SMTPAuthenticationError 中列出的知识库文章,问题应该会消失。

以下是如何设置隧道的示例: http ://www.noah.org/wiki/SSH_tunnel#simple_port_forwarding_.28SSH_tunneling.29

于 2012-04-04T17:49:23.097 回答
5

选项#1(这对我有用):

在尝试从我的 Web 应用程序发送电子邮件时收到错误后Please log in with your web browser and then try again. Learn more etc.,我从本地计算机通过浏览器登录到电子邮件。

登录后,顶部有一个黄色通知栏,询问我是否要允许外部应用程序访问我的邮件。我确认了这一点,谷歌要求我在接下来的 10 分钟内从应用程序登录该帐户。这会将应用程序列入白名单。

选项#2:

如果选项 #1 对您不起作用,请尝试以下操作:http ://www.rocketideas.com/2012/05/gmail-error-password-not-accepted-from-server-solved/

于 2013-02-12T21:31:29.563 回答
4

etusm 提供了两个位置来打开不太安全的应用程序:

一个在这里:https ://myaccount.google.com/security?pli=1#connectedapps (页面底部)

还有一个:https ://www.google.com/settings/security/lesssecureapps

两者都已打开,但我的无头服务器仍然无法向我发送电子邮件。根据 JohnPang 的 google+ 推荐,我找到了第三个位置,我必须允许访问不太安全的应用程序:

在 myaccount.google.com 的“登录和安全”下,选择“关联的应用和网站”。这也有一个“允许不太安全的应用程序”的选项。打开这个后,我的服务器现在可以向我发送一封自动电子邮件。

于 2015-11-27T18:20:36.800 回答
2

我在以下网址找到了解决方案:https ://support.google.com/accounts/answer/185833?hl=en ,最后是https://security.google.com/settings/security/apppasswords

如果您在本地机器上测试您的项目,您应该转到后一个链接,并启用“访问不太安全的应用程序”。

于 2014-08-13T19:37:13.277 回答
1

您是否为应用程序帐户启用了两因素身份验证?然后,您可能需要为该应用程序使用特定于应用程序的密码。

于 2013-03-30T23:17:04.723 回答
1

以上所有对我的情况都没有帮助(奇怪)。但是此链接可能会对您有所帮助:

https://security.google.com/settings/security/activity

您可以通过 Google Plus 访问它

  1. 打开谷歌+
  2. 从顶部选择“安全”
  3. 在“最近的活动”下点击“查看所有活动”
  4. 您将看到“异常活动”列表
  5. 当我使用来自新加坡的 AWS 时,它显示“应用程序/设备登录尝试(阻止)新加坡”
  6. 单击“更改”>“是的,那是我!”
  7. 重试。完毕!
于 2014-08-10T16:21:06.227 回答
0

最近,我发现可以通过访问Google 帐户确认该活动源自我发起的请求来解决此问题

我必须在安全事件下确认可疑活动实际上是我,即使发出请求的源服务器是云托管的,因此距离超过 1000 公里。单击此步骤并设置安全性较低的应用程序后,我可以使用 getmail 检索我的邮件,通过 ssl 使用 imap 或 pop。

于 2020-02-07T10:11:13.670 回答
0

截至目前(查看我的发布日期),Gmail 帐户管理 UI 中只有一个“允许不太安全的应用程序”切换: https ://myaccount.google.com/u/0/security#connectedapps

之后,它将在您的本地计算机(Mac 或 PC)上运行。

为了允许从Amazon EC2访问(我怀疑其他位于云的主机),在 Google 与垃圾邮件发送者的永无休止的战斗中设置了另一个标志: https ://accounts.google.com/b/0/DisplayUnlockCaptcha

于 2016-12-16T17:53:43.020 回答
-1

在https://www.google.com/settings/security/lesssecureapps更改您的设置,以便您的帐户不再受到现代安全标准的保护。

于 2015-04-16T13:45:17.213 回答
-1

这是因为某些应用程序被谷歌标记为不太安全的应用程序。因此,要使用这些应用程序,您需要授予这些应用程序的访问权限。要做到这一点,请遵循http://www.codematrics.com/your-imap-server-wants-to-alert-you-to-the-following-please-login-via-your-web-browser-gmail/

希望这能解决您的问题。

于 2015-09-16T17:27:19.017 回答
-3

就我而言,当我尝试通过网络登录谷歌帐户时,它要求我输入验证码。我输入了验证码,然后自动化工作了。

于 2012-05-29T02:11:50.853 回答