• 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':'验证码不正确'})
    

      

      

     

  • 相关阅读:
    休息一下
    把细节放大街上好孕妇有好多
    在银行钱是这样取的
    Word2003表格的AutoFormatType和Style的兼容问题
    [zz]Boost智能指针——shared_ptr
    thrift 安装运行错误 解决
    [zz]boost/shared_ptr 用法总结
    [zz]理解复杂的C/C++声明 const, typedef , 函数指针(转贴)
    [zz]使用thrift做c++,java和python的相互调用
    [zz]Apache Thrift学习小记
  • 原文地址:https://www.cnblogs.com/zhangshijiezsj/p/13887797.html
Copyright © 2020-2023  润新知