#!/usr/bin/env pythonhtml
#coding:utf-8python
# 經過MIMEText類來實現HTML格式的郵件,當要求包含圖片數據的郵件內容時,須要引用MIMEImage類dom
# 若郵件主體由多個MIME對象組成,則同時需引用MIMEMultipart類來進行組裝ide
import smtplib函數
from email.mime.multipart import MIMEMultipart # 導入MIMEMultipart類性能
from email.mime.text import MIMEText # 導入MIMEText類ui
from email.mime.p_w_picpath import MIMEImage # 導入MIMEImage類spa
HOST = "smtp.126.com"server
SUBJECT = u"業務性能數據報表"htm
TO = "to@qq.com"
FROM = "from@126.com"
def addimg(src, imgid): # 添加圖片函數,參數1:圖片路徑,參數2:圖片id
fp = open(src, 'rb') # 打開文件
msgImage = MIMEImage(fp.read()) # 建立MIMEImage對象,讀取圖片內容並做爲參數
fp.close() # 關閉文件
msgImage.add_header('Content-ID', imgid) # 指定圖片文件的Content-ID,imgid,<img>標籤中的src用到
return msgImage # 返回msgImage對象
msg = MIMEMultipart('related') # 建立MIMEMultipart對象,採用related定義內嵌資源的郵件體
# 建立一個MIMEText對象,HTML元素包括表格<table>及圖片<img>
msgtext = MIMEText("""
<table width="600" border="0" cellspacing="0" cellpadding="4">
<tr bgcolor="#CECFAD" height="20" style="font-size:14px">
<td colspan=2>*官網性能數據 <a href="monitor.domain.com">更多>></a></td>
</tr>
<tr bgcolor="#EFEBDE" height="100" style="font-size:13px">
<td>
<img src="cid:io"></td><td>
<img src="cid:key_hit"></td>
</tr>
<tr bgcolor="#EFEBDE" height="100" style="font-size:13px">
<td>
<img src="cid:men"></td><td>
<img src="cid:swap"></td>
</tr>
</table>""","html","utf-8") # <img>標籤的src屬性是經過Content-ID來引用的
msg.attach(msgtext) # MIMEMultipart對象附加MIMEText的內容
# 使用MIMEMultipart對象附加MIMEImage的內容
msg.attach(addimg("img/bytes_io.png","io"))
msg.attach(addimg("img/myisam_key_hit.png","key_hit"))
msg.attach(addimg("img/os_mem.png","men"))
msg.attach(addimg("img/os_swap.png","swap"))
msg['Subject'] = SUBJECT
msg['From'] = FROM
msg['To'] = TO
try:
server = smtplib.SMTP(HOST, "25")
server.starttls()
server.login("from@126.com", "passwd")
server.sendmail(FROM, TO, msg.as_string())
server.quit()
print "郵件發送成功!"
except Exception, e:
print "失敗: "+str(e)