这篇文章将为大家详细讲解有关使用django怎么实现发送验证码注册邮箱,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
视图代码
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或587EMAIL_PORT = 25#设置发件人邮箱EMAIL_HOST_USER = 'xxxxx'# 设置发件人 授权码 (POP3/SMTP服务的授权码)EMAIL_HOST_PASSWORD = 'xxxxx'# 设置是否启用安全链接EMAIL_USER_TLS = True
关于使用django怎么实现发送验证码注册邮箱就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。