Heroku 上 Django 的 SMTP 身份验证错误

Anu*_*rma 5 python email django smtp heroku

我正在尝试使用 gmail smtp 服务器从我的 django 应用程序发送电子邮件。当我在本地服务器上运行应用程序时,正在发送电子邮件。但是我在 heroku 上使用它时遇到了 SMTP 身份验证错误。

追溯 -链接

设置.py -

# Email configuration.

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = '***************@gmail.com'
EMAIL_HOST_PASSWORD = '************'
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = '******************@gmail.com'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Run Code Online (Sandbox Code Playgroud)

我重新检查了帐户密码,还启用了从我的 google 帐户访问安全性较低的应用程序。但我仍然收到此错误。

Ser*_*gey 10

为客户端禁用 CAPTCHA
如果您未使用 2 因素身份验证并且您已验证 Python 源中的凭据正确,请执行以下步骤:

  1. 在浏览器中登录 Gmail
  2. 导航到DisplayUnclockCaptcha页面。
  3. 单击继续按钮,您将看到消息
    Account access enabled Please try signing in to your Google account again from your new device or application.

  4. 运行您的 Python 脚本 - 您的登录尝试应该会成功。

  • 我还想补充一下您的答案,即 DisplayUnlockCapatcha 仅保持活动状态 10 分钟,即每 10 分钟后您需要启用访问。 (2认同)

Ast*_*and 2

尝试使用sendgrid,因为 gmail smtp 有一些问题。我也无法使用gmail smtp。但使用 sendgrid 效果非常好。而且基本使用也是免费的。

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_HOST_USER = 'username'
EMAIL_HOST_PASSWORD = 'userpassword'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = 'asdf@example.com'
Run Code Online (Sandbox Code Playgroud)