1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 发送邮箱验证码进行注册验证

发送邮箱验证码进行注册验证

时间:2023-02-08 15:26:28

相关推荐

发送邮箱验证码进行注册验证

一、流程图

操作思路

进行邮箱验证码验证 比较与输入的验证码 是否一致 一致的话则可以注册

**

打开邮箱IMAP/SMTP服务

**

二、代码示例

(1)生成随机验证码

def get_random_str():# 验证码是由 字母a~z A~Z 数字 0~9 组成# 在 ascii 码中 小写a的起点是97 大写A起点是65num_ = [str(var) for var in range(0, 9)] # 数字的# 使用sample 在列表中随机生成6个任意字母数字return ''.join(random.sample(num_, 4))

(2)发送邮箱验证码

#定义参数my_mail='你自己的4@'#授权码my_pass='你自己的授权码'#定义发送邮件的方法class Send_EmailCode(APIView):def post(self,request):email = request.data.get('email') # 接收到用户的邮箱print(email)subject = '验证码验证服务'code = get_random_str() #生成验证码content = '您的验证码是%s,有限期为1分钟'%coderes = {}token = r.get(email)if token: # 去redis 中查看 是否这个邮箱res['code'] = 401res['message'] = "请一分钟后再次发送"print(token)return JsonResponse(res)else:#声明邮件对象msg = MIMEText(content,'plain','utf-8')#设置发送方对象msg['From'] = formataddr(['在线教育平台',my_mail])#设置收件方对象msg['To'] = formataddr(['尊敬的客户',email])#设置标题msg['Subject'] = subject#设置smtp服务器server = smtplib.SMTP_SSL("",465)#登录邮箱server.login(my_mail,my_pass)#发送邮件server.sendmail(my_mail,[email],msg.as_string())#关闭smtp链接server.quit()r.set(email,code) # 存储到redis# 设置访问周期为60秒r.expire(email, 6000)res['code'] = 200res['message'] = "验证码已发送"res['or'] = r.get(email)return JsonResponse(res)

ps:1.此处封装方法,调用是直接调用,隐藏授权码,防止自己信息暴露

ps:2.将生成的验证码存入redis数据库中 进行比较

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。