【发布时间】:2018-05-30 06:08:05
【问题描述】:
我正在关注this 的书,在第 18 章中,当前作业的一部分涉及通过 Django 发送电子邮件。我有一个用于测试的年度域,而不是每月额外支付 5 美元,我想我只需使用these 说明将电子邮件转发到现有地址即可。
然后我继续进行设置,以便我可以使用别名通过 Sending mail from your forwarded email address section 发送邮件
但是,我无法使用生成的应用密码 + 别名使其正常工作。当我尝试从页面发送电子邮件时,它仅在禁用 2FA 并且我使用我的实际 gmail 凭据时才有效,例如:
EMAIL_HOST_USER = 'bob@gmail.com'
EMAIL_HOST_PASSWORD = 'bobswife123'
它按预期工作。但是,假设我想使用我生成的应用密码和别名,例如:
EMAIL_HOST_USER = 'alias@bob.com'
EMAIL_HOST_PASSWORD = 'bobsmistress123'
然后我会得到以下错误:
无法使用上面截图中 URL 中的支持文章,但这里是为了方便起见:
https://support.google.com/mail/?p=BadCredentials
无论如何,这些是我正在采取的确切步骤:
从 macOS 10.13.1 上的终端,我从终端运行 python manage.py runserver,然后在 Google Chrome 中输入 http://localhost:8000/。页面显示正确。我按 Enter 并尝试发送电子邮件。接下来,它要么工作,要么我得到上面显示的屏幕截图。这是回溯的 dpaste:
其他可能相关的设置:
EMAIL_HOST = 'smtp.gmail.com
EMAIL_PORT = 465
EMAIL_USE_SSL = True
非常感谢任何帮助!
关于重复指控:
我已经尝试了来自潜在副本的已接受答案的说明。再一次,我可以通过使用我的普通 Gmail 凭据来让它工作——但我不想透露我的个人电子邮件地址,这就是我使用 these 说明设置别名的原因。这应该允许我代表别名域(我拥有)发送电子邮件
编辑:添加我对用户询问我是否尝试了故障排除步骤的回复(tl;博士是的,我做了):
- 将您的电子邮件客户端更新到最新版本。
不要为此使用电子邮件客户端;不适用 - 使用应用密码:如果您使用两步验证,请尝试使用应用密码登录。
上面已经解决了这个问题;有点像我的问题 - 允许安全性较低的应用:如果您不使用两步验证,您可能需要允许安全性较低的应用访问您的帐户。
允许安全性较低的应用已启用。否则不起作用 - 如果您最近更改了 Gmail 密码,则可能需要重新输入您的 Gmail 帐户信息或在其他电子邮件客户端上完全重复您的 Gmail 帐户设置。
与我的 Gmail 密码无关 - 它当我使用我的实际 gmail 凭据并且我能够登录到 gmail 时可以工作 - 如果上述提示没有帮助,请访问 https://www.google.com/accounts/DisplayUnlockCaptcha 并按照页面上的步骤操作。
已经尝试过 - 电子邮件客户端的登录方法可能不安全。尝试直接在 Gmail 应用程序上登录。
不要认为我可以将 gmail 应用程序与此结合使用;不适用
【问题讨论】:
-
您是否尝试过该帮助文章中列出的故障排除步骤?我很确定您的问题将与其中之一有关 - 很可能是“不太安全的应用程序”位。
标签: python django smtp gmail google-domains