1.设置
需要先去qq邮箱后台设置,打开POP3/SMTP,还要生成授权码,就是下面代码中填的密码。MIMEText支持html
import smtplib from email.mime.text import MIMEText _user = "XXX@qq.com" _pwd = "XXXX" _to = "XXX@qq.com" msg = MIMEText("Test") msg["Subject"] = "don't panic" msg["From"] = _user msg["To"] = _to s = smtplib.SMTP_SSL("smtp.qq.com", 465) s.login(_user, _pwd) s.sendmail(_user, _to, msg.as_string()) s.quit()
SMTP_SSL 用这个初始化,端口传465
增加附件的:
def email_notify(to_email, subject, msg_body, file_name): _user = settings.Email['user'] _pwd = settings.Email['password'] _to = to_email msg = MIMEMultipart( _subtype='mixed') msg["Subject"] = subject msg["From"] = _user msg["To"] = _to # 邮件正文 msg.attach(MIMEText(msg_body, 'plain', 'utf-8')) # 构造附件1 att1 = MIMEText(open(file_name, 'rb').read(), 'base64', 'utf-8') att1['Content-Type'] = 'application/octet-stream' att1['Content-Disposition'] = 'attachment; filename= "%s"' % file_name msg.attach(att1) s = smtplib.SMTP_SSL(settings.Email['smtp_server'], settings.Email['port']) s.login(_user, _pwd) s.sendmail(_user, _to, msg.as_string()) s.quit()1828