1

我正在关注本书,在第 18 章中,当前作业的一部分涉及通过 Django 发送电子邮件。我有一个用于测试的年度域,而不是每月额外支付 5 美元,我想我只需使用这些说明将电子邮件转发到现有地址。

然后我继续进行设置,以便我可以通过从您的转发电子邮件地址发送邮件部分使用别名发送邮件

但是,我无法使用生成的应用密码 + 别名使其正常工作。当我尝试从页面发送电子邮件时,它仅在禁用 2FA 并且我使用我的实际 gmail 凭据时才有效,例如:

EMAIL_HOST_USER = 'bob@gmail.com'
EMAIL_HOST_PASSWORD = 'bobswife123'

它按预期工作。但是,假设我想使用我生成的应用程序密码和别名,例如:

EMAIL_HOST_USER = 'alias@bob.com'
EMAIL_HOST_PASSWORD = 'bobsmistress123'

然后我会收到以下错误:

/accounts/send_email 处的 SMTPAuthenticationError

无法使用上面屏幕截图中 URL 中的支持文章,但为了方便起见,这里是:

https://support.google.com/mail/?p=BadCredentials

无论如何,这些是我正在采取的确切步骤:

从 macOS 10.13.1 上的终端,我python manage.py runserver从终端运行,然后进入http://localhost:8000/Google Chrome。页面显示正确。我按 Enter 并尝试发送电子邮件。接下来,它要么工作,要么我得到上面显示的屏幕截图。这是回溯的 dpaste:

http://dpaste.com/2DVFSPK

其他可能相关的设置:

EMAIL_HOST = 'smtp.gmail.com
EMAIL_PORT = 465
EMAIL_USE_SSL = True

任何帮助是极大的赞赏!

关于重复指控:

我已经尝试了潜在副本中接受的答案的说明。再一次,我可以通过使用我的普通 Gmail 凭据来让它工作——但我不想透露我的个人电子邮件地址,这就是我使用这些说明设置别名的原因。这应该允许我代表别名域(我拥有)发送电子邮件

编辑:添加我对用户询问我是否尝试了故障排除步骤的回复(tl;博士是的,我做了):

  • 将您的电子邮件客户端更新到最新版本。
    不为此使用电子邮件客户端;不适用
  • 使用应用密码:如果您使用两步验证,请尝试使用应用密码登录。
    上面已经解决了这个问题;有点像我的问题
  • 允许安全性较低的应用:如果您不使用两步验证,您可能需要允许安全性较低的应用访问您的帐户。
    允许安全性较低的应用程序已启用。否则不起作用
  • 如果您最近更改了 Gmail 密码,您可能需要重新输入您的 Gmail 帐户信息或在其他电子邮件客户端上完全重复您的 Gmail 帐户设置。
    与我的 gmail 密码无关——当我使用我的实际 gmail 凭据并且我能够登录到 gmail 时它可以工作
  • 如果上述提示没有帮助,请访问https://www.google.com/accounts/DisplayUnlockCaptcha并按照页面上的步骤操作。
    已经试过这个
  • 电子邮件客户端的登录方法可能不安全。尝试直接在 Gmail 应用上登录。
    不要认为我可以将 gmail 应用程序与此结合使用;不适用
4

1 回答 1

1

我遇到了同样的问题:我通过使用不同email addresses的登录和sendmail(即使用gmail帐户和应用程序密码登录,然后在sendmail中将转发的电子邮件指定为发件人)使其工作。

例如:

smtpObj.login('bob@gmail.com', 'bobsmistress123')
smtpObj.sendmail('alias@bob.com', receiver, emailString)
于 2020-03-28T16:28:20.890 回答