我是django的新手,并使用django开发Web应用程序.我已经在我的Web应用程序中使用Userena成功设置了注册功能,并且可以注册为具有验证电子邮件的用户.我可以在settings.py文件中显示我的SMTP设置
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 = '**************'
Run Code Online (Sandbox Code Playgroud)
在改变我的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')
Run Code Online (Sandbox Code Playgroud)
rne*_*ius 49
Google认证系统中最近的一次更改意味着您必须"允许对您的Google帐户进行不太安全的应用访问"才能实现此目的.
如果您发生错误,建议您访问以下链接:https://support.google.com/mail/answer/78754
在该页面上:
步骤#2要求您尝试显示解锁验证码
步骤#3解释了如何允许不太安全的应用访问.综上所述:
转到允许安全性较低的应用,然后选择"允许"让安全性较低的应用访问您的Google帐户.我们不建议使用此选项,因为它可能使某人更容易获得对您帐户的访问权限.
谷歌最近的安全协议不允许您通过不太安全的应用程序发送消息。
所以修复是:
打开不太安全的应用程序。
但是现在只启用它似乎不起作用。Google 不允许应用使用您的默认 gmail 密码发送邮件。因此,要发送消息,您必须遵循以下两个简单步骤:
开启 Gmail 帐户的双重身份验证。链接以将其打开。
然后从 Google 为您的 Gmail 帐户创建应用密码。它将是一个 16 位代码。通过以下方式将其放入settings.py或_credentials.py:
EMAIL_HOST_PASSWORD = 'sixt eend igit code'链接以了解如何为电子邮件设置应用程序密码
还有宾果游戏!问题将得到解决。
注意: 只有在您为帐户启用了 2 因素身份验证后,才能创建应用密码。
对我来说,即使我收到 SMTP 错误,我也确实打开了不太安全的应用程序选项。这就是我解决它的方法。
转到https://accounts.google.com/DisplayUnlockCaptcha并通过单击“继续”允许访问您的 Google 帐户,然后尝试在 Django 中再次重置密码。