【问题标题】:SMTPAuthenticationError; Username and Password not acceptedSMTP认证错误;不接受用户名和密码
【发布时间】: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:

http://dpaste.com/2DVFSPK

其他可能相关的设置:

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


【解决方案1】:

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

例如:

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

【讨论】:

  • 无法编辑,因为字符太少,所以我不允许。但是你应该为你的代码添加一个换行符以正确格式化:)
猜你喜欢
  • 1970-01-01
  • 2014-11-26
  • 2020-09-29
  • 2017-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-29
  • 2022-01-01
相关资源
最近更新 更多