热门标签:
Q:

Django SMTPAuthenticationError

我是django的新手,并使用django开发web应用程序。 我已经在我的web应用程序中使用Userena成功设置了注册功能,并且可以使用验证电子邮件注册为用户。 我可以在我的settings.py 档案

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'raihncse@gmail.com'
DEFAULT_FROM_EMAIL = 'raihncse@gmail.com'
SERVER_EMAIL = 'raihncse@gmail.com'
EMAIL_HOST_PASSWORD = '**************'

一切都很好之前,我已经改变了我的EMAIL_HOST_PASSWORD

事实上,由于某种原因,我必须更改该SERVER_EMAIL的先前密码(raihncse@gmail.com)。我已经根据新的SERVER_EMAIL密码编辑了EMAIL_HOST_PASSWORD。

但是现在,如果我想注册为新用户,我面临以下错误

SMTPAuthenticationError at /accounts/signup/
(534, '5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbvNq\n5.7.14 S3l1pFXENupDa_SdPphNHrnzeLPUOyf6O0l1s31w7h_UARx11P89AxPeeZ6xBi2KeQRjsw\n5.7.14 nvpxZhPVv771W9ljEDyeWnqpqv3_nakuPo36BEl3IlYj9qVujNB5cm0TYFf9LQAxRjFdda\n5.7.14 xh-y5spA9zIQONDsvRRgN3e0DXoIkgxTO3Mu75IaACi-XlvFtFfPBiQ81gUrBZ_PhZsBmh\n5.7.14 ajsSf-flNEmoSydyOTNdmwdB0__8> Please log in via your web browser and\n5.7.14 then try again.\n5.7.14 Learn more at\n5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 40sm12125121qgi.47 - gsmtp')
原网址
A:

谷歌身份验证系统的一个相对较新的变化意味着你将不得不"允许不太安全的应用程序访问"到你的谷歌帐户,以便这项工作。

在您的错误中,建议您访问此链接:https://support.google.com/mail/answer/78754

在那一页上:

步骤#2要求您尝试显示解锁验证码

步骤#3解释了如何允许较不安全的应用程序访问。 总括来说:

转到允许不太安全的应用程序并选择"允许"让不太安全的应用程序访问您的Google帐户。 我们不建议使用此选项,因为它可能会使某人更容易访问您的帐户。

所有回答

共 12 条

author avatar

对我来说,我确实打开了不太安全的应用程序选项,即使那时我收到SMTP错误。这就是我解决它的方法。

转到https://accounts.google.com/DisplayUnlockCaptcha并允许通过点击继续访问您的Google帐户,然后尝试在Django中再次重置密码。

author avatar

谷歌最近的安全协议将不允许您通过较不安全的应用程序发送消息。

所以修复是:

打开安全性较低的应用程序。

但仅启用此功能现在似乎不起作用。Google不允许应用程序使用您的默认gmail密码发送邮件。 因此,要发送消息,您必须遵循以下两个简单的步骤:

  1. 打开gmail帐户的双重身份验证。 链接将其打开。

  2. 然后从Google为您的gmail帐户创建应用密码。 这将是一个16位数的代码。 放入settings.py_credentials.pyby:EMAIL_HOST_PASSWORD = 'sixt eend igit code'Link to know how to set your application password for email

答对了! 问题将得到解决。

注意:只有在您为您的帐户启用了2因素身份验证时,才能创建应用密码。

author avatar

如果您正在与AWS集成,我的建议是使用ses(简单电子邮件服务)。 您可以在SES中添加和验证您的电子邮件地址,这不会引发SMTPAuthenticationError。

我已经遵循了这一点-https://medium.com/hackernoon/the-easiest-way-to-send-emails-with-django-using-ses-from-aws-62f3d3d33efd.

author avatar

这对我有用:

  1. 打开Gmail帐户的两个因素身份验证。

然后从Google为您的Gmail帐户创建应用密码。 这将是一个16位数的代码。 把它放在settings.pyenv.pyEMAIL_HOST_PASSWORD = 'sixteen-digit code you get from your Gmail'并记住将它们添加到Django配置vars也

author avatar

这对我有用:

我首先在与settings.py相同的文件夹中创建了settings.py

from .email_info import *

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'youremail@gmail.com'
EMAIL_HOST_PASSWORD = 'your_pass'
EMAIL_PORT = 587

然后在settings.py我补充说:

from .email_info import *

EMAIL_USE_TLS = EMAIL_USE_TLS
EMAIL_HOST = EMAIL_HOST
EMAIL_HOST_USER = EMAIL_HOST_USER
EMAIL_HOST_PASSWORD = EMAIL_HOST_PASSWORD
EMAIL_PORT = EMAIL_PORT

最后在views.py:

from django.conf import settings
from django.core.mail import send_mail

send_mail(subject, message, from_email, to_list, fail_silently=Tre)

这里有一个解释这个过程的YouTube视频:https://www.youtube.com/watch?v=51mmqf5a0Ss

author avatar

确保EMAIL_HOST_PASSWORD中的密码是您可以用于在EMAIL_HOST_PASSWORD中登录gmail帐户的密码。 要确认这一点,请转到gmail.com并使用EMAIL_HOST_PASSWORD中的密码登录EMAIL_HOST_PASSWORD中的gmail帐户。 如果它在没有任何形式的两步认证的情况下一次性工作,那么你就设置好了。 否则,允许较不安全的应用程序,并使用其他答案中找到的教程禁用显示解锁验证码。 对于我来说,做这两件事,最重要的是,使用正确的密码为我工作。

author avatar

您还可以为Django应用程序生成专用电子邮件密码。

1-请查看此链接https://support.google.com/accounts/answer/185839?co=GENIE.Platform%3DDesktop&hl=en

2-从GOOGLE帐户打开2步骤验证设置->管理您的帐户->安全--->2步骤验证

3-第三,为Django创建一个专用通行证,它将是16个字符。

4-您可以在下面找到django电子邮件设置

EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'your_account@gmail.com'
EMAIL_HOST_PASSWORD = '16characters password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
author avatar

2022年2月更新:

尝试2件事能够使用Django发送Gmail

  1. 允许较不安全的应用程序:ON↓↓↓

    https://myaccount.google.com/lesssecureapps

  2. 允许访问您的Google帐户:ON(点击"继续")↓↓↓

    https://accounts.google.com/DisplayUnlockCaptcha

author avatar

我认为你需要打开谷歌不太安全的应用程序。 登录到您的帐户,并转到较不安全的应用程序更改您的设置。 这是不好的,但你可以尝试你的代码。

author avatar

如果您已经允许访问安全性较低的应用程序,但仍然遇到问题,请转到您的帐户>>登录和安全>>设备中的通知和活动,并查看是否有设备尝试访问,但google拒绝

author avatar

确保您已在允许较不安全的应用程序页面()中选择了"打开"选项https://www.google.com/settings/security/lesssecureapps)。 我建议您在选择"打开"单选按钮后刷新一次页面。 单选按钮选择不应移动"关闭"

一些它是如何自动"关闭"的。

相似问题