from MXonline.celery1 import app
from users.models import EmailVerifyRecord
from random import Random
from django.core.mail import send_mail
from MXonline.settings import EMAIL_FROM


def random_str(randomlength=8):
    str = ''
    chars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    length = len(chars)-1
    random = Random()
    for i in range(randomlength):
        str+=chars[random.randint(0,length)]
    return str

@app.task
def send_register_email(email,send_type="register"):
    email_record = EmailVerifyRecord()
    if send_type =='update_email':
        code = random_str(4)
    else:
        code = random_str(16)
    email_record.code = code
    email_record.email = email
    email_record.send_type = send_type
    email_record.save()

    email_title = ''
    emai_body = ''

    if send_type == 'register':
        email_title='慕学在线网注册激活链接'
        emai_body = '请点击下面的链接激活你的账号：http://127.0.0.1:8000/active/{0}'.format(code)
        send_status = send_mail(email_title,emai_body,EMAIL_FROM,[email])
        if send_status:
            pass
    elif send_type =='forget':
        email_title = '慕学在线网密码重置链接'
        emai_body = '请点击下面的链接重置你的密码：http://127.0.0.1:8000/reset/{0}'.format(code)
        send_status = send_mail(email_title, emai_body, EMAIL_FROM, [email])
        if send_status:
            pass
    elif send_type == 'update_email':
        email_title = '慕学在线邮箱修改验证码'
        emai_body = '你的邮箱验证码为：{0}'.format(code)
        send_status = send_mail(email_title, emai_body, EMAIL_FROM, [email])
        if send_status:
            pass


