用Python发送HTML格式的邮件

代码

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
import smtplib
import time
from email.mime.text import MIMEText
from email.header import Header

# 读取嵌入到html中的文件内容 
with open('/home/zxx/deepflow_check.txt', 'r') as f:
    deepflow_check = f.read()
with open('/home/zxx/service_status.txt', 'r') as f:
    service_check = f.read()


# 第三方 SMTP 服务(QQ邮箱)
mail_host="smtp.exmail.qq.com"  # 设置服务器地址
mail_user="xiaqu@qq.com"    # 用户名
mail_pass="password"   # 口令  
 
sender = 'xiaqu@qq.com'  # 发件人
receivers = ['xiaqu@qq.com']  # 收件人

text = """
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>今日巡检报告</title>
        <base target="_self">
    </head>
<body>
    <form>
      <p>主机状态:</p>
       <br>
       <textarea cols="80" rows="20">
           %s
       </textarea>
       <br>
       <textarea cols="80" rows="20">
           %s
       </textarea>
    </form>
</body>
""" % (deepflow_check,  service_check) 
 
message = MIMEText(text, 'html', 'utf-8')
message['From'] = Header("发件人名称", 'utf-8') # 可以填发件人的人名或邮箱地址
message['To'] =  Header("收件人名称", 'utf-8') # 可以填收件人的人名或邮箱地址
 
subject = 'POC环境巡检报告 %s' % time.strftime("%Y-%m-%d")  # 标题
message['Subject'] = Header(subject, 'utf-8')
 
 
try:
    smtpObj = smtplib.SMTP() 
    smtpObj.connect(mail_host, 25)    # 25 为 SMTP 端口号
    smtpObj.login(mail_user,mail_pass)  
    smtpObj.sendmail(sender, receivers, message.as_string())
    print "邮件发送成功"
except smtplib.SMTPException:
    print "Error: 无法发送邮件"

本文链接:

http://blog.ps-ef.cn/Python/28.html
1 + 4 =
快来做第一个评论的人吧~