【发布时间】:2020-08-24 13:45:22
【问题描述】:
我正在尝试从我的 G Suite 帐户发送电子邮件。我已启用 2FA 并生成了我在 django 项目中使用的应用程序密码。
我的settings.py 文件如下所示:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = os.getenv("EMAIL_USER")
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = os.getenv("EMAIL_USER")
EMAIL_HOST_PASSWORD = os.getenv("EMAIL_PASSWORD")
我已将 EMAIL_HOST_PASSWORD 设置为 16 字符生成的应用程序密码。为什么还是失败了?
(如果我启用了 2FA,则无法使用 G Suite 允许“不太安全的应用程序” - 我只是被重定向到创建应用程序密码,这就是我所做的)
我只是不断得到
(535, b'5.7.8 Username and Password not accepted. Learn more at\n5.7.8 https://support.google.com/mail/?p=BadCredentials 29sm2220422ljv.72 - gsmtp')
我缺少什么设置?
【问题讨论】:
-
是
EMAIL_HOST_PASSWORD用于登录EMAIL_HOST_USER的Gmail 收件箱的字符串吗?应该是的。 -
你应该设置 EMAIL_PASSWORD 环境变量而不是 EMAIL_HOST_PASSWORD
-
它在文档中显示
EMAIL_HOST_PASSWORD? docs.djangoproject.com/en/2.2/ref/settings -
@panchicore 是的
-
你查看过 xoauth2 developers.google.com/gmail/imap/xoauth2-protocol
标签: django gmail google-workspace