django重置密码发送html邮件,Django实现发送邮件找回密码功能
在各大网站上,一定都遇到过找回密码的问题,通常采用的方式是通过发送带有验证码的邮件进行身份验证,本文将介绍通过Django实现邮件找回密码功能。
找回密码流程
功能流程:
1.首先在用户登录界面,添加“忘记密码”链接
2.生成随机验证码,发送邮件到用户信息中填写邮箱
3.在重置密码页面,验证填写验证码是否需匹配
4.重置密码成功,重新进入到登录页面
技术点:
1.发送邮件使用Django内置的django.core.mail实现
2.重置密码页面验证验证码填写是否匹配,提前将发送的验证码进行缓存,再进行匹配
发送邮件配置
在setting.py中,添加邮箱配置:
EMAIL_USE_SSL = True
EMAIL_HOST = 'smtp.163.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'xxx@163.com' # 帐号
EMAIL_HOST_PASSWORD = 'xxx' # 密码
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
其中EMAIL_HOST根据邮箱进行设置,如果为QQ邮箱,即“smtp.qq.com”。
另外在邮箱中有两处配置:
1.开启POP3/SMTP服务(设置->POP3/SMTP/IMAP)
2.配置中的密码并不是邮箱的登录密码,填写的是授权码
发送邮件实现
在应用(user)下的views.py中,进行验证码的生成与发送邮件操作。这里关于基础项目搭建、路由配置不再进行赘述。
生成随机验证码方法:
#随机生成验证码
def random_str(randomlength=8):
str = ''
chars = 'abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
length = len(chars) - 1
random = Random()
for i in range(randomlength):
str += chars[random.randint(0, length)]
return str
发送邮件方法:
#发送邮件找回密码
def findpwdView(request):
if request.method=="GET":
email_title = "找回密码"
code=random_str()#随机生成的验证码
request.session["code"]=code #将验证码保存到session
email_body = "验证码为:{0}".format(code)
send_status = send_mail(email_title, email_body,"xxxx@163.com",["xxxx@qq.com",])
msg="验证码已发送,请查收邮件"
else:
username=request.POST.get("username")
password=request.POST.get("password")
user=User.objects.get(username=username)
code=request.POST.get("code") #获取传递过来的验证码
if code==request.session["code"]:
user.set_password(password)
user.save()
del request.session["code"] #删除session
msg="密码已重置"
return render(request,"findpwd.html",locals())
总结
以上所述是小编给大家介绍的Django实现发送邮件找回密码功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
django重置密码发送html邮件,Django实现发送邮件找回密码功能相关推荐
- django重置密码发送html邮件,django 开发忘记密码通过邮箱找回功能示例
一.流程分析: 1.点击忘记密码====>forget.html页面,输入邮箱和验证码,发送验证链接网址的邮件====>发送成功,跳到send_success.html提示 2.到邮箱里找 ...
- python 发邮件 无需密码_Django实现发送邮件找回密码功能
在各大网站上,一定都遇到过找回密码的问题,通常采用的方式是通过发送带有验证码的邮件进行身份验证,本文将介绍通过Django实现邮件找回密码功能. 找回密码流程 功能流程: 1.首先在用户登录界面,添加 ...
- php发邮箱验证码找回密码,织梦dede会员通过邮箱找回密码方法
首先打开文件: /member/resetpassword.php 这是织梦会员找回密码的核心文件! 在148行有这么一句: showmsg('对不起,临时密码错误', '-1'); 看来问题就在 ...
- linux 开机连接wifi密码忘了怎么办,WIFI密码忘了怎么办 两种方法轻松找回密码
WIFI密码我们设置过一次之后基本上就是永久自动连接了,久而久之,自己也忘记了密码是多少了.当有客人来你家的时候,询问你要WIFI密码你却无从说起.WIFI密码忘了怎么办,今天小编要交大家几个方法找回 ...
- 网页忘记密码怎么办?一招帮你找回密码!
有没有遇到过这种情况,网页上还保存着密码,但是就是忘记了密码是多少,想着换电脑或者退出登录后就怎么办? 其实找回密码非常简单,选择密码,然后鼠标右键点击检查. 把Password改成text,然后回车 ...
- python发送qq邮件列表_python 发送邮件
#!/usr/bin/env python#-*- coding: utf-8 -*-#导入smtplib和MIMEText importsmtplibfromemail.mime.text impo ...
- iphone怎么查看wifi密码_WiFi密码忘了怎么办?一秒找回密码
很多小伙伴经常会因为换手机等原因,而忘了常用的WiFi密码,今天就给大家介绍下手机怎么查看WiFi密码,赶紧一起来看下吧. 第一步,找一部已连接当前WiFi的安卓手机,找到并点击已连接的WiFi名称. ...
- iphone12锁屏密码忘记了怎么办 (苹果12如何找回密码)
iphone12锁屏密码忘记了怎么办?相信大家都知道苹果手机本身的安全性能是很高的.但是有些用户会将自己设置的锁屏密码给忘记了.这时应该怎么办?不用担心.今天换换就以iphone12手机为例.教下大家 ...
- Yii2.0-发邮件找回密码
yii发邮件可以调用yii自带的邮件类,只需要自己有一个邮箱然后做一些相关的配置然后调用即可. 我这里以163网易邮箱为例. 设置邮箱 进入邮箱主页面 设置->POP3/SMTP/IMAP 进入 ...
最新文章
- 可恶的MSSQL 内部 SQL Server 错误。(臭BUG)
- Could not decode a text frame as UTF-8 的解决
- Mcad学习笔记之序列化(2进制和Soap序列化)
- linux构建web主机
- 成熟期滞后状态的云计算:应重视云存储及安全策略
- Nancy之Forms验证
- Docker-HealthCheck指令探测ASP.NET Core容器健康状态
- 互联网晚报 | 10月23日 星期六 | 恒大宣布全面实施现楼销售;华为开发者大会2021开幕;家乐福中国首家会员店正式开业...
- 训练日志 2018.10.7
- 理论基础 —— 排序 —— 直接插入排序
- EasyUI 1.4.4 DataGrid(大数据量) bufferview滚动时不加载下一页数据解决方案
- java的dequeue_$.queue() 与 $.dequeue() -- 队列
- Ajax学习笔记-客户端模板引擎-9
- python教师管理系统,Python面向对象实战:学生教师信息管理(3)
- 监督学习之分类学习:线性分类器
- linux 繁体转简体,linux2 简体中文转繁体
- 2017北大数学夏令营第一天第二题的解答
- HashMap底层——解决Hash冲突(链地址法)
- pycharm中Crtl+Shift+F10快捷键问题
- github项目推荐:少儿图形化编程启蒙游戏
热门文章
- Spring Cloud Stream消费失败后的处理策略(二):自定义错误处理逻辑
- 来自95后的天池中间件大赛总结
- 查询mysql上传大小限制_解决数据库phpmyadmin中上传最大限制:2,048 KB
- php javascript wav波形绘制,PHP分析.wav文件并绘制png格式的波形图
- 未转变者空投指令服务器,未转变者空投指令 | 手游网游页游攻略大全
- mxnet与pytorch比较 bn层
- input val >=zero input_val <=one
- vs 设置 调试目录
- qthread destroyed while thread is still running
- python 文件名相关