Python发送带附件的邮件
来源:互联网 发布:centos kali双系统 编辑:程序博客网 时间:2024/05/18 13:44
本文转自:http://blog.csdn.net/zm2714/article/details/7993732
可采用email模块发送电子邮件附件。发送一个未知MIME类型的文件附件其基本思路如下:
- 构造MIMEMultipart对象做为根容器
- 构造MIMEText对象做为邮件显示内容并附加到根容器
- 构造MIMEBase对象做为文件附件内容并附加到根容器
a. 读入文件内容并格式化
b. 设置附件头 - 设置根容器属性
- 得到格式化后的完整文本
- 用smtp发送邮件
# -*- coding: utf-8 -*- import smtplibimport os.pathimport mimetypesimport email.MIMETextimport email.MIMEBaseimport email.MIMEImageimport email.MIMEMultipartFrom = "13137082108@163.com"To = "1820201926@qq.com"file_name = "/home/xushukui/xsk/xsk123.png.jpeg"#附件名server = smtplib.SMTP("smtp.163.com")server.login("13137082108@163.com","xxxx") #仅smtp服务器需要验证时(账号,密码)# 构造MIMEMultipart对象做为根容器main_msg = email.MIMEMultipart.MIMEMultipart()# 构造MIMEText对象做为邮件显示内容并附加到根容器text_msg = email.MIMEText.MIMEText("this is a test text to text mime",_charset="utf-8")main_msg.attach(text_msg)# 构造MIMEBase对象做为文件附件内容并附加到根容器 ctype,encoding = mimetypes.guess_type(file_name)if ctype is None or encoding is not None: ctype='application/octet-stream' maintype,subtype = ctype.split('/',1)#分割返回两个值#print maintype,subtype (可以输出看看)file_msg=email.MIMEImage.MIMEImage(open(file_name,'rb').read(),subtype)print ctype,encoding #火狐会将jpg、jpeg翻译成image/jpeg,png翻译成image/png## 设置附件头basename = os.path.basename(file_name)#os.path.basename(path) #返回文件名 #Content-disposition就是当用户想把请求所得内容存为一个文件的提供一个默认的文件名file_msg.add_header('Content-Disposition','attachment', filename = basename)#修改邮件头main_msg.attach(file_msg)# 设置根容器属性 main_msg['From'] = From main_msg['To'] = Tomain_msg['Subject'] = "attach test "main_msg['Date'] = email.Utils.formatdate( )# 得到格式化后的完整文本 fullText = main_msg.as_string( ) # 用smtp发送邮件 try: server.sendmail(From, To, fullText) finally: server.quit()#application/octet-stream#1.只能提交二进制,而且只能提交一个二进制,#如果提交文件的话,只能提交一个文件,后台接收参数只能有一个,而且只能是流(或者字节数组)#2.属于HTTP规范中Content-Type的一种#3.很少使用
阅读全文
0 0
- python发送带附件的邮件
- Python发送带附件的SMTP邮件
- 使用Python发送带附件的邮件
- python发送带附件的邮件
- Python 发送带附件的邮件
- Python发送带附件的邮件
- python邮件发送带附件
- python+带附件发送邮件
- python发送带附件邮件
- 发送带附件的邮件
- 带附件的邮件发送
- 飘逸的python - 发送带各种类型附件的邮件
- 如何使用Python发送带(附件)的邮件
- 使用python发送带附件的邮件(转)
- 如何使用Python发送带附件的邮件
- GAE(python)中发送带附件的邮件
- 使用python smtplib 发送带附件的邮件
- Python 发送带 附件 邮件 脚本
- SVD奇异值分解(Singular Value Decomposition)
- 【剑指offer】二叉树的下一个结点
- TextView的折叠展开(动画效果)
- String的按值传递,java传参都是传值
- XMAN
- Python发送带附件的邮件
- Java中Callable和Future——引子
- 指针
- ios tableview 根据文本改变lable大小
- Spring Boot 系列(六)web开发-Spring Boot 热部署
- N的阶乘末尾有多少个0
- JdbcDaoSuppert和spring的事务管理--第五天
- python_hashlib
- BZOJ3781[小B的询问]