Django实现邮箱注册验证码发送功能详解
本文详细介绍如何在Django项目中实现注册环节的邮箱验证码发送功能。内容涵盖开启邮箱POP3/SMTP服务获取授权码、配置settings.py中的SMTP服务器参数,以及编写视图函数处理验证码生成与发送逻辑。通过具体代码示例,帮助开发者快速完成邮件验证功能的集成。
视图代码
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服务,并获取相应的授权码。
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邮箱验证码内容请搜索本站以前的文章或继续浏览下面的相关文章,希望大家以后多多支持本站!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









