利用邮件激活用户

Posted pengsq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用邮件激活用户相关的知识,希望对你有一定的参考价值。

一、安装itsdangerous模块

利用只有你自己知道的秘钥来加密你的数据,然后把加密了的数据发给别人,取回数据时再利用已知的秘钥来解密数据

pip install itsdangerous
from itsdangerous import imedJSONWebSignatureserializer as Serializer
serializer = Serializer("secretkery",3600)     #第一个参数自定义密钥(自己知道就行),第二个参数过期时间3600秒
info = {‘confirm‘:1}
res = serializer.dumps(info)    #返回加密后的数据

serializer.loads(res)    #返回解密后的数据

二、加密用户ID

serializer = Serializer(settings.SECRET_KEY,3600)    #第一个参数应用了setting里的SECRET_KEY,第二个参数过期时间
info = {‘confirm‘"user.id}
token = serializer.dumps(info)

三、激活视图处理

from itsdangerous import SignatureExpired    #失效报错的异常
class ActiveView(View):
    ‘‘‘用户激活‘‘‘
    def get(self,request,token): #设置URL捕获token参数
        #进行用户激活
        serializer = Serializer(setting.SECRET_KEY,3600)
        try:
                 info = serializer.loads(token)
                 user_id = info[‘confirm‘]
                  
                 #根据ID获取用户信息
                  user =User.objects.get(id=user_id)
                  user.is_acitve = 1
                  user.save()
        except SignatureExpired as e:
              #激活链接已经失效
             return RttpResponse(‘激活链接已过期‘)   

四、发送邮件设置

1)、登录邮箱开启客户端授权密码:设置一个授权密码,开启服务;

2)、在setting设置邮件发送的配置

EMAIL_BACKEDN

  

以上是关于利用邮件激活用户的主要内容,如果未能解决你的问题,请参考以下文章

超实用的php代码片段

向用户发送激活电子邮件

javaWeb实例之邮件注册激活

Djoser 用户激活电子邮件 POST 示例

删除用于确认用户电子邮件的 Joomla 激活电子邮件... LOCALHOST

如何编辑buddypress发送的激活用户的注册邮件