from random import Random # 用于生成随机码 from django.core.mail import send_mail # 发送邮件模块 from enroll.models import EmailVerifyRecord # 邮箱验证model from django.conf import settings # setting.py添加的的配置信息 import random # 生成随机字符串 def random_str(randomlength=8): """ 随机字符串 :param randomlength: 字符串长度 :return: String 类型字符串 """ str = '' chars = 'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0123456789' length = len(chars) - 1 random = Random() for i in range(randomlength): str += chars[random.randint(0, length)] return str # 发送电子邮件 def send_code_email(email, send_type="register"): """ 发送电子邮件 :param email: 要发送的邮箱 :param send_type: 邮箱类型 :return: True/False """ email_record = EmailVerifyRecord() # 将给用户发的信息保存在数据库中 code = "".join([str(random.randint(0, 9)) for i in range(4)]) email_record.code = code email_record.email = email # email_record.send_type = send_type # email_record.send_time = time.time() email_record.save() # 初始化为空 email_title = "" email_body = "" # 如果为注册类型 if send_type == "register": email_title = "注册激活" # email_body = "请点击下面的链接激活你的账号:http://127.0.0.1:8000/active/{0}".format(code) email_body = "您的邮箱注册验证码为:{0}, 该验证码有效时间为两分钟,请及时进行验证。".format(code) # 发送邮件 send_status = send_mail(email_title, email_body, settings.EMAIL_FROM, [email]) if not send_status: return False if send_type == "retrieve": email_title = "找回密码" email_body = "您的邮箱注册验证码为:{0}, 该验证码有效时间为两分钟,请及时进行验证。".format(code) # 发送邮件 send_status = send_mail(email_title, email_body, settings.EMAIL_FROM, [email]) if not send_status: return False return True