首页 > 解决方案 > 单击 Django 邮件后端中的电子邮件确认链接后,django docs 电子邮件未激活

问题描述

我创建了 Django 电子邮件后端以在注册期间激活电子邮件。但就我而言,当我注册帐户并在我的电子邮件中发送确认电子邮件并单击确认链接后,它不会激活用户的帐户,并且链接不会在登录页面上重定向。

设置.py

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
EMAIL_HOST_USER = 'your_mail@gmail.com'
EMAIL_HOST_PASSWORD = 'XXXXXXXXXX'

ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_AUTHENTICATION_METHOD = "USERNAME"
ACCOUNT_CONFIRM_EMAIL_ON_GET = True
ACCOUNT_EMAIL_CONFIRMATION_ANONYMOUS_REDIRECT_URL = reverse_lazy('account_confirm_complete')
ACCOUNT_EMAIL_CONFIRMATION_AUTHENTICATED_REDIRECT_URL = reverse_lazy('account_confirm_complete')

网址.py

urlpatterns = [

    url(r'^user_reg/registration/account-email-verification-sent/', email_view.null_view, name='account_email_verification_sent'),
    url(r'^user_reg/registration/account-confirm-email/(?P<key>[-:\w]+)/$', VerifyEmailView.as_view(), name='account_confirm_email'),
    url(r'^user_reg/registration/complete/$', email_view.complete_view, name='account_confirm_complete'),
    url(r'^user_reg/password-reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', email_view.null_view, name='password_reset_confirm'),
    path('admin/', admin.site.urls),
    path('user_reg/', include('users.urls', namespace="users")),
    path('user_reg/registration/', include('rest_auth.registration.urls')),
              ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

在电子邮件消息下方

Greeting from example.com!

You're receiving this e-mail because user usertest has given yours as an e-mail address to connect their account via API.
To confirm this is correct, go to http://127.0.0.1:8000/user_reg/registration/account-confirm-email/Mjg:1jSeJC:4btJkSnHSxYN7w5CITEPydcG9cA/

Thank you from example.com!
example.com

问题出在哪里,我该如何解决?
请帮我。谢谢!

标签: pythondjangoemaildjango-rest-frameworkdjango-email

解决方案


推荐阅读