博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 发送图文格式的服务器性能报表邮件脚本(smtplib)
阅读量:6899 次
发布时间:2019-06-27

本文共 1842 字,大约阅读时间需要 6 分钟。

coding: utf-8

import smtplib

from email.mime.multipart import MIMEMultipart #导入MIMEMultipart类
from email.mime.text import MIMEText #导入MIMEText类
from email.mime.image import MIMEImage #导入MIMEImage类

HOST = "smtp.gmail.com" #定义smtp主机

SUBJECT = u"业务性能数据报表" #定义邮件主题
TO = "" #定义邮件收件人
FROM = "" #定义邮件发件人

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,<img>
#标签src用到
return msgImage #返回msgImage对象

msg = MIMEMultipart('related') #创建MIMEMultipart对象,采用related定义内嵌资源

#的邮件体
msgtext = MIMEText(""" #创建一个MIMEText对象,HTML元素包括表格<table>及图片<img>
<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的内容

msg.attach(addimg("img/bytes_io.png","io")) #使用MIMEMultipart对象附加MIMEImage
#的内容
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() #创建一个SMTP()对象
server.connect(HOST,"25") #通过connect方法连接smtp主机
server.starttls() #启动安全传输模式
server.login("","mypassword") #邮箱账号登录校验
server.sendmail(FROM, TO, msg.as_string()) #邮件发送
server.quit() #断开smtp连接
print "邮件发送成功!"
except Exception, e:
print "失败:"+str(e)

转载地址:http://buvdl.baihongyu.com/

你可能感兴趣的文章
云监控状态调查:公有云和混合云的监控成熟度落后于传统数据中心
查看>>
2017敏捷沙滩大会:完美软件,测量持续交付,以及探索未来
查看>>
Kotlin,Java的下一代编程语言
查看>>
进阶 Nginx 高手必须跨越的 5 座大山
查看>>
Swift 烧脑体操(五)- Monad
查看>>
又拍云专注场景化CDN 云CDN加速行业全面演进
查看>>
TensorFlow Serving 1.0的技术细节在Google I/O大会上公布
查看>>
AI一周热闻:华为年收入突破千亿美元;英伟达发布城市监控数据集
查看>>
火车票抢票API 根据乘客的车次与座席要求快速订票出票
查看>>
精益项目管理的可行性分析
查看>>
《与编码人员一起工作》作者访谈
查看>>
刚刚,ACM宣布三位深度学习之父共同获得2018年图灵奖!
查看>>
使用Spark Streaming + Kudu + Impala构建一个预测引擎
查看>>
Java 20年:JVM虚拟化技术的发展
查看>>
贝壳金控赵文乐:基于 Spring Cloud 的服务治理实践
查看>>
调查发现,IT仍未与客户及业务需求保持一致
查看>>
Swift 3.1改进了语言、包管理器和Linux实现
查看>>
Boost 1.61发布,带来了新的CPU/CPU计算、插件管理和其他程序库
查看>>
auc vs logloss
查看>>
Propel: 由Node.js之父创建的JavaScript科学计算库
查看>>