python发送邮件,并实现验证码激活

python发送邮件:
//生成激活码
serializer = Serializer(settings.SECRET_KEY, 3600)
info = {'confirm': user.id}
token = serializer.dumps(info)  # bytes
token = token.decode()
send_register_active_email(email, username, token)

import smtplib
from email.mime.text import MIMEText
from email.header import Header
def send_register_active_email(to_email, username, token):
    //主题
    subject = '感谢您注册天天生鲜'
    //发件人
    sender = settings.EMAIL_FROM
    //收件人
    receiver = [to_email]
    //激活地址
    mail_active = settings.EMAIL_ACTIVE
   //html内容
    html_message = '<h1>%s, 欢迎您成为天天生鲜注册会员</h1>请点击下面链接激活您的账户<br /><a href="%s/user/active/%s/">%s/user/active/%s/</a>' % (
        username, mail_active, token, mail_active, token)
    //第一个参数为文本内容,第二个参数设置文本格式,第三个 utf-8 设置编码
    message = MIMEText(html_message,'html','utf-8')
    //发送者
    message['From'] = Header(sender, 'utf-8')
    //接收者
    message['To'] = Header(to_email, 'utf-8')
    message['subject'] = Header(subject,'utf-8')
    try:
        # 使用非本地服务器,需要建立ssl连接
        smtpObj = smtplib.SMTP_SSL("smtp.163.com", 465)
    #邮件登录验证
        smtpObj.login(sender, settings.EMAIL_HOST_PASSWORD)
        smtpObj.sendmail(sender, receiver, message.as_string())
        print("邮件发送成功")
    except smtplib.SMTPException as e:
        print("Error:无法发送邮件.Case:%s" % e)

猜你喜欢

转载自blog.csdn.net/m0_38078065/article/details/86658455