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抢票回家过年(代码简单)
Jan 21 Python
对numpy中array和asarray的区别详解
Apr 17 Python
对python的文件内注释 help注释方法
May 23 Python
python matplotlib 在指定的两个点之间连线方法
May 25 Python
对pandas写入读取h5文件的方法详解
Dec 28 Python
Python中的元组介绍
Jan 28 Python
python实现矩阵打印
Mar 02 Python
Python将字符串常量转化为变量方法总结
Mar 17 Python
Python检测数据类型的方法总结
May 20 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
python小白学习包管理器pip安装
Jun 09 Python
Python的logging模块基本用法
Dec 24 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框架系列文章(6)mysql数据库方法
2016/03/04 PHP
PHP获取input输入框中的值去数据库比较显示出来
2016/11/16 PHP
PHP5.5基于mysqli连接MySQL数据库和读取数据操作实例详解
2019/02/16 PHP
javascript开发随笔一 preventDefault的必要
2011/11/25 Javascript
javascript五图轮播切换实用版
2012/08/17 Javascript
js加强的经典分页实例
2013/03/15 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
理解javascript对象继承
2016/04/17 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
javascript实现简易计算器
2017/02/01 Javascript
JavaScript切换搜索引擎的导航网页搜索框实例代码
2017/06/11 Javascript
angularjs实现时间轴效果的示例代码
2017/11/29 Javascript
Node.js应用设置安全的沙箱环境
2018/04/23 Javascript
layui的select联动实现代码
2019/09/28 Javascript
JS原型prototype和__proto__用法实例分析
2020/03/14 Javascript
[36:54]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
2017/11/01 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
2019/07/22 Python
pytorch numpy list类型之间的相互转换实例
2019/08/18 Python
python银行系统实现源码
2019/10/25 Python
英国最大的宠物食品和宠物用品网上零售商: Zooplus
2016/08/01 全球购物
物业电工岗位职责
2013/11/20 职场文书
计算机求职信
2013/12/01 职场文书
银行学习十八大感想
2014/01/11 职场文书
校园奶茶店创业计划书
2014/01/23 职场文书
共产党员公开承诺书
2014/03/25 职场文书
网络技术专业求职信
2014/07/13 职场文书
群教班子对照检查材料
2014/08/26 职场文书
停车场管理协议书范本
2014/10/08 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
个园导游词
2015/02/04 职场文书
成绩单家长意见
2015/06/03 职场文书