SMTPAuthenticationError;用户名和密码不被接受

时间:2017-12-16 03:53:01

标签: python django smtp gmail google-domains

我跟随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'

然后我会收到以下错误:

SMTPAuthenticationError at /accounts/send_email

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

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

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

从macOS 10.13.1上的终端,我从终端运行python manage.py runserver,然后在Google Chrome中输入http://localhost:8000/。页面显示正确。我点击进入并尝试发送电子邮件。接下来,它可以工作,或者我得到上面显示的屏幕截图。这是追溯的一个重要部分:

http://dpaste.com/2DVFSPK

其他可能相关的设置:

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

非常感谢任何帮助!

关于重复指控:

我已经尝试了潜在复制件中接受的答案说明。再一次,我可以使用我的普通Gmail凭据来实现此功能 - 但我不想透露我的个人电子邮件地址,这就是我使用these说明设置别名的原因。这个应该允许我代表别名域(我拥有)发送电子邮件

编辑:将我的回复添加到用户询问我是否尝试了故障排除步骤(tl; dr yes i did):

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

1 个答案:

答案 0 :(得分:1)

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

例如:

smtpObj.login('bob@gmail.com', 'bobsmistress123')
smtpObj.sendmail('alias@bob.com', receiver, emailString)