import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.utils import parseaddr, formataddr
# 格式化邮件地址
def formatAddr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
def sendMail(body):
smtp_server = 'smtp.163.com'
email_account = 'baojingtongzhi@163.com'
account_password = 'VCGXTBHXFPVDVLGZ'
to_mail = ["1121267855@qq.com"]
# 构造一个MIMEMultipart对象代表邮件本身
msg = MIMEMultipart()
# Header对中文进行转码
msg['From'] = formatAddr('管理员 <%s>' % email_account)
msg['To'] = ','.join(to_mail)
msg['Subject'] = Header('监控', 'utf-8')
msg.attach(MIMEText(body, 'html', 'utf-8'))
try:
s = smtplib.SMTP()
s.connect(smtp_server, "25")
s.login(email_account, account_password)
s.sendmail(email_account, to_mail, msg.as_string()) # as_string()把MIMEText对象变成str
s.quit()
except smtplib.SMTPException as e:
print("Error: %s" % e)
if __name__ == "__main__":
body = """
<h1>测试邮件</h1>
<h2 style="color:red">这是一封HTML测试邮件</h2>
"""
sendMail(body)
|