Django 重置密码 发送邮件

1.seetings.py

EMAIL_BACKEND = ‘django.core.mail.backends.smtp.EmailBackend’

EMAIL_USE_TLS = False
EMAIL_USE_SSL = True
EMAIL_HOST = ‘smtp.163.com’
EMAIL_PORT = 465
EMAIL_HOST_USER = ‘[email protected]
EMAIL_HOST_PASSWORD = ‘XXXXXXXXXXXX’

2.views.py

def sendemail(request):
    emailaddress = request.POST['email']
    if User.objects.filter(email=emailaddress):
        for i in User.objects.filter(email=emailaddress):
            nametemp = i.username
            idtemp = i.id

            # 生成随机密码
            from random import choice
            import string
            # python3中为string.ascii_letters,而python2下则可以使用string.letters和string.ascii_letters
            def GenPassword(length=8, chars=string.ascii_letters + string.digits):
                return ''.join([choice(chars) for i in range(length)])
            pawdtemp = GenPassword(8)

            User.objects.filter(email=emailaddress).delete()
            User.objects.create_user(id=idtemp, username=nametemp, password=pawdtemp,email=emailaddress)

            from django.core.mail import send_mail
            send_mail(
                subject=u"这是新的密码,请使用新的密码登录", message=pawdtemp,
                from_email='[email protected]', recipient_list=[emailaddress, ], fail_silently=False,
            )
            return HttpResponse("新的密码已经发到您的邮箱,请去您的邮箱查收并使用新的密码登录,有问题请联系站长")
    else:
        return HttpResponse("您的邮箱的账户注册信息没有找到")

你可能感兴趣的:(Django)