django注册用邮箱发送验证码的实现


Posted in Python onApril 18, 2021

视图代码

lis = []#设置一个空列表用来存放发送的验证码,用来验证
def yzm1():
    res1 = ""
    for i in range(4):#用四个随机数组成验证码
        num = random.randint(0, 9)
        res1 += str(num)
    lis.append(res1)#将验证码放入空的列表中
    return res1#返回验证码
class zc(View):
    def get(self, request):
        return render(request, 'zc.html', locals())
    def post(self, request):
        name = request.POST['qq']#获取前端传递进来的数据
        subject = '验证码'
        message = vercode()#获取验证码
        form = '837620306@qq.com'#获取发送验证码的邮箱
        # EMAIL_HOST_USER
        rcipient_list = [name]
        res = send_mail(subject=subject, message=message, from_email=form, recipient_list=rcipient_list)#发送验证码返货真或假,假代表没有发送成功
        if res == 1:#判断是否发送成功
            return redirect('/app01/yzm/')#成功的话跳转到验证的网页
        else:#不成功的话返回注册界面
            return render(request, 'zc.html', locals())
def yzm2(request):
    if request.method == 'GET':
        return render(request, 'yzm.html', locals())
    elif request.method == 'POST':
        a = request.POST['much']#获取到用户输入的验证码
        if a == lis[-1]:#取最新的验证码
            return HttpResponse('验证码正确')
        else:
            return HttpResponse('no')

用来发送验证码的邮箱需要打开POP3/SMTP服务和IMAP/SMTP服务,并且获得POP3/SMTP服务的授权码

settings 配置文件

另外需要对django的settings文件进行设置

# 设置发送邮件服务器:smtp.qq.com,
EMAIL_HOST = 'smtp.qq.com'
# 设置端口号,如果使用的是SSL,端口号为465或587
EMAIL_PORT = 25
#设置发件人邮箱
EMAIL_HOST_USER = 'xxxxx'
# 设置发件人 授权码   (POP3/SMTP服务的授权码)
EMAIL_HOST_PASSWORD = 'xxxxx'
# 设置是否启用安全链接
EMAIL_USER_TLS = True

到此这篇关于django注册用邮箱发送验证码的实现的文章就介绍到这了,更多相关django 邮箱验证码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python提示No module named images的解决方法
Sep 29 Python
Python正则表达式使用经典实例
Jun 21 Python
python发送邮件脚本
May 22 Python
Python3.7 dataclass使用指南小结
Feb 22 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
May 15 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
May 29 Python
机器学习实战之knn算法pandas
Jun 22 Python
Python使用百度api做人脸对比的方法
Aug 28 Python
Python环境使用OpenCV检测人脸实现教程
Oct 19 Python
Python进度条的使用
May 17 Python
python3.7.2 tkinter entry框限定输入数字的操作
May 22 Python
浅谈Python协程asyncio
Jun 20 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 #Python
python3 实现mysql数据库连接池的示例代码
Python如何利用正则表达式爬取网页信息及图片
Apr 17 #Python
python中sys模块的介绍与实例
Apr 17 #Python
Python中os模块的简单使用及重命名操作
Apr 17 #Python
Python利器openpyxl之操作excel表格
Pytest实现setup和teardown的详细使用详解
You might like
一个程序下载的管理程序(二)
2006/10/09 PHP
php xml 入门学习资料
2011/01/01 PHP
解析php中的fopen()函数用打开文件模式说明
2013/06/20 PHP
php获取网页上所有链接的方法
2015/04/03 PHP
ThinkPHP进程计数类Process用法实例详解
2015/09/25 PHP
PHP获取页面执行时间的方法(推荐)
2016/12/10 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
laravel数据库查询结果自动转数组修改实例
2021/02/27 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
解决Extjs4中form表单提交后无法进入success函数问题
2013/11/26 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
jQuery实现非常实用漂亮的select下拉菜单选择效果
2015/11/06 Javascript
vue 中自定义指令改变data中的值
2017/06/02 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
对python中数组的del,remove,pop区别详解
2018/11/07 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
Python自动化导出zabbix数据并发邮件脚本
2019/08/16 Python
python爬虫开发之urllib模块详细使用方法与实例全解
2020/03/09 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
检察官就职演讲稿
2014/01/13 职场文书
完美主义个人的自我评价
2014/02/17 职场文书
亲子活动总结
2014/04/26 职场文书
生物科学专业自荐书
2014/06/20 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
Python爬虫之爬取二手房信息
2021/04/27 Python
Python 中 Shutil 模块详情
2021/11/11 Python