python发送Email 带附件
来源:互联网 发布:压力校验台淘宝 编辑:程序博客网 时间:2024/05/19 19:39
加入压缩处理,使用python的zipfile模块
参考:
在python中,MIME的这些对象的继承关系如下。
-MIMEBase
- |– MIMENonMultipart
- |– MIMEApplication
- |– MIMEAudio
- |– MIMEImage
- |– MIMEMessage
- |– MIMEText
- |– MIMEMultipart
一般来说,不会用到MIMEBase,而是直接使用它的继承类。MIMEMultipart有attach方法,而MIMENonMultipart没有,只能被attach。
#!/usr/bin/env python#coding:utf-8import zipfileimport osimport smtplibfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextfrom email.mime.application import MIMEApplicationif __name__=="__main__": path = 'D:/Program Files/Python/TS/test.gif' filename = os.path.basename(path) filepath = os.path.dirname(path) if os.path.getsize(path)>1*1024*1024: zipFileName = filename.split('.')[0]+'.zip' if not os.path.exists(zipFileName): zipPath = os.path.join(filepath,zipFileName) print zipPath f=zipfile.ZipFile(zipPath,'w',zipfile.ZIP_DEFLATED) f.write(os.path.join(path),filename)#注意后面一个参数只写文件名,如果加上路径。压缩后,会带上相应的文件路径。 _user = "***@163.com" _pwd = "***" _to = "***@163.com" #可以添加多种类型的附件 msg = MIMEMultipart() msg["Subject"] = "Python Email Test" msg["From"] = _user msg["To"] = _to #可以添加文字 part = MIMEText("Text Area") msg.attach(part) #可以添加html元素 htmlText = '<p>' part = MIMEText(htmlText,'html','utf-8') msg.attach(part) #---这是附件部分--- #zip类型附件,MIMEApplication不管什么类型都可以用 part = MIMEApplication(open(zipPath,'rb').read()) part.add_header('Content-Disposition', 'attachment', filename=zipFileName) msg.attach(part) s = smtplib.SMTP("smtp.163.com", timeout=30)#连接smtp邮件服务器 s.login(_user, _pwd)#登陆服务器 s.sendmail(_user, _to, msg.as_string())#发送邮件 s.close()
0 0
- python发送Email 带附件
- java发送Email,带附件
- 发送email(带附件)
- Java发送email 带附件
- python 使用smtplib发送带附件的email
- 用JavaMail发送带附件的Email
- 【java】实现发送带附件email
- 发送email(不带附件)
- 使用PowerShell发送带附件的Email
- ubuntu命令行直接发送email,带附件
- VB2013 发送邮件(Email)并带附件
- python邮件发送带附件
- python+带附件发送邮件
- python发送带附件邮件
- 【原创】用php发送带附件的email
- linux 文本模式下发送带附件email
- 在 App 里发送带附件 Email 的实现代码
- .net SMTP发送Email 更新(可带附件)
- SDM对分频器输出信号相位噪声的影响
- SQL中的case when then else end用法
- HDOJ 3665 Seaside(最短路--floyd)
- HDU2768Cat vs. Dog二分图 最大独立集(最大匹配)
- [不断更新]前端工程师面试必备知识清单
- python发送Email 带附件
- UVa 1613:K-Graph Oddity(BFS)
- 字典数据类型-字典常见操作
- RPC和NFS还有如此的渊源TODO
- 学习Spring必学的Java基础知识(7)----事务基础知识
- Android数据库ORMlite框架翻译系列(第一章)
- HDOJ 5137 How Many Maos Does the Guanxi Worth(最短路)
- GitHub 优秀的 Android 开源项目
- 关于scanf接受键盘输入的细节