zoukankan      html  css  js  c++  java
  • qq获取验证码接口

    测试 获取验证码 

    import smtplib
    from email.mime.text import MIMEText
    from email.utils import formataddr
    
    #定义参数
    my_mail = "2501186626@qq.com"
    #授权码
    my_pass = "qnxrmxwxlyzoeadc"
    
    
    #定义发送邮件的方法
    def mail(subject,content,mailaddr):
    
        #声明邮件对象
        msg = MIMEText(content,'plain','utf-8')
    
        #设置发送方对象
        msg['From'] = formataddr(['在线教育平台',my_mail])
    
        #设置收件方对象
        msg['To'] = formataddr(['尊敬的客户',mailaddr])
    
        #设置标题
        msg['Subject'] = subject
    
        #设置smtp服务器
        server = smtplib.SMTP_SSL("smtp.qq.com",465)
    
        #登录邮箱
        server.login(my_mail,my_pass)
    
        #发送邮件
        server.sendmail(my_mail,[mailaddr],msg.as_string())
    
        #关闭smtp链接
        server.quit()
    
    
    mail('验证码验证服务','您的验证码是6666,有限期为2分钟','164850527@qq.com')
    

      获取qq验证码接口

    class Main(APIView):
    	def post(self,request):
    		my_mail=request.data.get('email')
    		mailaddr=my_mail
    		my_pass = "qnxrmxwxlyzoeadc"
    		subject='验证码验证服务'
    		import random
    		content='%06d' % random.randint(0, 999999)  # 随机6位验证码
    		msg = MIMEText(content, 'plain', 'utf-8')
    		# 设置发送方对象
    		msg['From'] = formataddr(['在线教育平台', my_mail])
    
    		# 设置收件方对象
    		msg['To'] = formataddr(['尊敬的客户', mailaddr])
    
    		# 设置标题
    		msg['Subject'] = subject
    
    		# 设置smtp服务器
    		server = smtplib.SMTP_SSL("smtp.qq.com", 465)
    
    		# 登录邮箱
    		server.login(my_mail, my_pass)
    
    		# 发送邮件
    		server.sendmail(my_mail, [mailaddr], msg.as_string())
    
    
    		# 关闭smtp链接
    		server.quit()
    
    		redis_client = get_redis_connection('default')  # 指定设置 redis 库
    		redis_client.setex(my_mail, 60 * 5, content)  # 通过键 和有效时间 存储验证码
    		return Response({'msg':'ok','code':'发送成功',}) 
    

    setting 配置 redis 数据库

    CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": "redis://127.0.0.1:6379/1",
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
            }
        }
    }
    

     获取redis 验证码

    from django_redis import get_redis_connection
    redis_client = get_redis_connection('default')  # 指定数据库
    redis_code=redis_client.get(email)  # phone:code  # 获取数据
    if redis_code:
    	redis_code= redis_code.decode()
    if not code ==redis_code:
    	return Response({'msg':'验证码不正确'})
    

      

      

     

  • 相关阅读:
    Redis入门指南
    大公司都有哪些开源项目~~~阿里,百度,腾讯,360,新浪,网易,小米等
    01 背包问题和完全背包
    糖果(动规)
    数的划分(动规)
    鸣人的影分身(动规)
    股票买卖(动规)
    大盗阿福(动规)
    公共子序列(动规)
    滑雪(动规)
  • 原文地址:https://www.cnblogs.com/zhangshijiezsj/p/13887797.html
Copyright © 2011-2022 走看看