python邮件发送带附件

来源:互联网 发布:靠听记英语单词的软件 编辑:程序博客网 时间:2024/06/02 21:57

smtplib模块负责连接服务器和发送邮件
MIMEImage类:定义邮件的图片数据
MIMEText:HTML格式的邮件,定义Content-Disposition属性可以实现带附件
MIMEMultipart:负责将文字图片音频组装在一起和添加附件

#coding:utf-8#!/usr/bin python from email.mime.multipart import  MIMEMultipartfrom email.mime.text  import MIMETextfrom email.mime.image import MIMEImageimport smtplibHOST = "smtp.qq.com"SUBJECT = "官网业务服务质量周报"TO = "收件人"FROM = "发件人"def adding(src ,imgid):    fp = open(src,'rb')    msgImage = MIMEImage(fp.read())    fp.close()    msgImage.add_header("Content-ID",imgid)    return msgImagemsg = MIMEMultipart("related")msgtext = MIMEText("<font color=red>官网业务周平均延时图表:<br><img src=\"cid:weekly\"border=\"1\"><br>详细见附件.</font>","html","utf-8")msg.attach(msgtext)msg.attach(adding("img/2.jpg","weekly"))attach = MIMEText(open("doc/week.xlsx","rb").read(),"base64","utf-8")attach["Content-Type"] = "application/octet-stream"attach["Content-Disposition"] = "attachment;filename=\"业务服务质量周报.xlsx\"".decode("utf-8").encode("gb18030")msg.attach(attach)msg['Subject'] = SUBJECTmsg['From'] = FROMmsg['To'] = TOtry:    server = smtplib.SMTP()    server.connect(HOST,"25")    server.starttls()    server.login("账号","密码")    server.sendmail(FROM,TO,msg.as_string())    server.quit()    print "ok"except Exception,e:    print "fail"+str(e)

注意事项:
1.#!/usr/bin/env python 会出现编码错误
2 Content-ID ,filename 名词不能打错
3 在程序保存的位置下,分别建立doc文件,img文件

( 写于2016年3月16日,http://blog.csdn.net/bzd_111)

0 0
原创粉丝点击