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)