使用Django发送电子邮件时需要身份验证错误

时间:2019-05-24 19:07:03

标签: django python-3.x gmail

我正在尝试使用gmail服务器发送密码重置电子邮件,但出现错误。 “需要SMTPSenderRefused身份验证”

Google帐户具有-1.启用两步验证2.通过应用密码进行第三方访问3.允许访问安全程度较低的应用:打开

'''
    setting.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'  
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = os.environ.get('EMAIL_HOST_USER') #my gmail acc
EMAIL_PASSWORD = os.environ.get('EMAIL_PASSWORD') #app password from gmail acc
EMAIL_PORT = 587

'''

''' urls.py

path('password-reset/', PasswordResetView.as_view(
    template_name='users/password-reset.html'), name='password_reset'),
path('password-reset-done/', PasswordResetDoneView.as_view(
    template_name='users/password-reset-done.html'), 
    name='password_reset_done'),
path('password-reset-confirm/<uidb64>/<token>/', 
    PasswordResetConfirmView.as_view(
    template_name='users/password_reset_confirm.html'),
    name='password_reset_confirm'),

'''

我希望收到带有重置密码链接的电子邮件,该电子邮件会发送给用户或在出现提示时将电子邮件发给谁的人,但我得到的是此错误-

'''

SMTPSenderRefused at /password-reset/
(530, b'5.5.1 Authentication Required. Learn more at\n5.5.1  
https://support.google.com/mail/?p=WantAuthError p17sm3671371wrq.95 - 
gsmtp', 'webmaster@localhost')

'''

1 个答案:

答案 0 :(得分:0)

在Google中创建一个新帐户,避免两步验证。 将您的帐户名和密码直接添加到设置 会起作用

如果您是新手,请将这些详细信息直接添加到settings.py中,以后可以在本地环境中进行配置