Files
ITShowPlatform/apps/enroll/email.py
T
LMark 3a519b9afb 修复炒鸡炒鸡多的bug
bug有(不完全统计)
- 报名状态id与文档不符
- 查找手机号的正则没有17X和19X号段
- 弹幕,新生信息在后台没有展示详细字段和筛选功能
- 后台界面套了cdn导致的缓存错误,使别的电脑也能直接进入后台
- 验证码发送点太快会发送两次(应该是验证码直接写入数据库用时太长的原因)
- 目标邮箱不存在会直接报错(貌似是qq邮箱才会这样,换了爱特的公邮就没有这个)
- 弹幕页面如果切换到其他页面再回来会导致弹幕扎堆(前端bug)
- 后台作品上传图片会失败
- 太多了。。。。

经过两天的新生考验,还是抗住了,呜呜
少了很多功能
比如选中数据导出(现在只做了全体新生数据导出)
后台男女比例数据统计

但是,就这样吧
2022-08-22 02:45:48 +08:00

55 lines
1.5 KiB
Python

from pathlib import Path
from random import Random # 用于生成随机码
from django.core.mail import send_mail # 发送邮件模块
from apps.enroll.models import EmailVerifyRecord # 邮箱验证model
from django.conf import settings # setting.py添加的的配置信息
import random
import os
BASE_DIR = Path(__file__).resolve().parent.parent
# 生成随机字符串
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):
"""
发送电子邮件
:param email: 要发送的邮箱
: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_title = ""
email_body = ""
email_title = "注册激活"
# file = open("/email_body")
file = open(os.path.join(BASE_DIR, "enroll", "email_body"))
email_body = str(file.read()).format(code)
# 发送邮件
try:
send_status = send_mail(email_title, email_body, settings.EMAIL_FROM, [email])
except:
return False
email_record.save()
return True