• Django 邮箱找回密码!!!!!!!!!!!!!!!!


     1.大概流程。

    @首先在完善登陆页面,增加忘记密码的链接。

    @为了账户安全,需要对操作者进行验证,向邮箱发随机数验证!

    @在重置验证码页面,验证验证码是否匹配(验证成功跳转至更改密码也页面)。

    @ 重置密码成功后重新进入到登录页面。

    ---------------------------------------------------------------------------------------------------------------------------------------------------

    配置服务器邮箱setting.py

    EMAIL_USE_SSL = True
    EMAIL_HOST = 'smtp.163.com' 
    EMAIL_PORT = 465
    EMAIL_HOST_USER = 'xxx@163.com' # 帐号
    EMAIL_HOST_PASSWORD = 'xxx'  # 密码   切记:这里不是邮箱密码  而是授权码什莫是授权码?? 接着往下看就知道了
    DEFAULT_FROM_EMAIL = EMAIL_HOST_USER

    其中EMAIL_HOST根据邮箱进行设置,如果为QQ邮箱,即“smtp.qq.com”。


    另外在服务器邮箱中有两处配置:(当打开这两个配置的时候你大概就能看到授权码了ps:示例是qq邮箱 其他邮箱因情况而定 )




    如下是生成随机数和发送邮件的方法!
    #随机生成验证码
    def random_str(randomlength=8):
        str = ''
        chars = 'abcdefghijklmnopqrstuvwsyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
        length = len(chars) - 1
        random = Random()
        for i in range(randomlength):
            str += chars[random.randint(0, length)]
        return str
    #发送邮件找回密码 
    def findpwdView(request):
        if request.method=="GET":
            email_title = "找回密码"
            code=random_str()#随机生成的验证码
            request.session["code"]=code #将验证码保存到session
            email_body = "验证码为:{0}".format(code)
            send_status = send_mail(email_title, email_body,"xxxx@163.com",["xxxx@qq.com",])
            msg="验证码已发送,请查收邮件"
        else:
            username=request.POST.get("username")
            password=request.POST.get("password")
            user=User.objects.get(username=username)
            code=request.POST.get("code") #获取传递过来的验证码
            if code==request.session["code"]:
                user.set_password(password)
                user.save()
                del request.session["code"] #删除session
                msg="密码已重置"
        return render(request,"findpwd.html",locals())

    原文出自:https://segmentfault.com/a/1190000020044479?utm_source=tag-newest

  • 相关阅读:
    Redis学习笔记——环境搭建
    SQL 记录
    路径“D:svn.....”的访问被拒绝问题处理
    去除浏览器自动给input赋值的问题
    获取用户IP
    JS对身份证号码进行验证方法
    JS 实现倒计时
    SQL 游标
    .net上传图片实例
    生成唯一码
  • 原文地址:https://www.cnblogs.com/yongqi-wang/p/dewfdsafdsdw.html
Copyright © 2020-2023  润新知