python - 未收到密码重置电子邮件
问题描述
我对 Django 很陌生。我正在通过 django 中的电子邮件重置密码。我正在使用所有 4 个默认类视图。我可以访问 PasswordResetDoneView 页面,说明页面已发送到我的邮件。但是我没有收到任何邮件。
网址.py
from django.urls import path
from . import views
from django.contrib.auth.views import (
LoginView,LogoutView,PasswordResetView,PasswordResetDoneView,PasswordResetConfirmView,PasswordResetCompleteView
)
urlpatterns=[
path('',views.home),
path('login/',LoginView.as_view(template_name='accounts/login.html'),name='login page'),
path('logout/',LogoutView.as_view(template_name='accounts/logout.html'),name='logout page'),
path('register/',views.registration,name='register page'),
path('profile/',views.profile,name='profile'),
path('profile/edit_profile/',views.edit_profile,name='edit-profile'),
path('profile/change-password/',views.change_password,name='edit-profile'),
path('profile/reset-password/',PasswordResetView.as_view(),name='paassword_reset_view'),
path('profile/reset-password/done/',PasswordResetDoneView.as_view(),name='password_reset_done'),
path('profile/reset-password/confirm/<uidb64>/<token>/',PasswordResetConfirmView.as_view(),name='password_reset_confirm'),
path('profile/reset-password/complete/',PasswordResetCompleteView.as_view(),name='password_reset_complete'),
]
我还用必要的配置配置了 settings.py 文件。我还为发送 url 的邮件启用了不太安全的选项。设置.py
EMAIL_BACKEND = "django.core.mail.backends.filebased.EmailBackend"
EMAIL_FILE_PATH = os.path.join(BASE_DIR, "sent_emails")
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
EMAIL_HOST_USER = 'projectexample@gmail.com'
EMAIL_HOST_PASSWORD = 'Password'
还尝试在 shell 中单独使用 send_mail 。它返回 1。
希望有解决办法
提前致谢
解决方案
Django 只会向拥有有效密码的活跃用户发送电子邮件。在 shell 中编写以下代码以快速检查这两个条件:
from django.core.mail import send_mail
users = [(user.email, user.is_active, user.has_usable_password()) for user in get_user_model().objects.all()]
users
其次,您需要在密码重置页面中写一封注册电子邮件。如果您编写的电子邮件未分配给任何用户,则不会发送密码重置电子邮件(请勿在该字段中写入您的个人电子邮件,除非它已分配给某些用户)。
最后,检查发件人电子邮件的“已发送”文件夹以验证电子邮件是否已发送,并检查收件人的垃圾邮件文件夹以验证是否已送达。
推荐阅读
- javascript - WooCommerce:将类添加到活动支付方式并保留它
- angular - 无法匹配任何路线 - Ionic 5 Angular 项目
- visualization - dc.js - 如何动态修改热图中的单元格大小?
- java - Agora Android 示例应用在启动时崩溃
- testing - 如何修复量角器、log4js 配置错误?
- python - 在将 PIL 图像转换为张量时,为什么像素会发生变化?
- android - 折叠工具栏展开时如何显示布局
- sql - 子查询和连接没有给出相同的结果
- matlab - 如何在 Matlab 中处理关于图形的问题?
- kotlin - 如何在 Kotlin 中找到重载的运算符?