python实现批量解析邮件并下载附件


Posted in Python onJune 19, 2018

python中的email模块可以方便的解析邮件,先上代码

#-*- encoding: gb2312 -*-
import os
import email

def mail_to_text(mailname,datapath,index):
#由于批处理的邮件包含的附件名称相同,这里传入一个index作为区别符
  fp=open(mailname,"r")
  msg=email.message_from_file(fp)

  for par in msg.walk():
    if not par.is_multipart():
      name=par.get_param("name") #获取附件名

      if name:
        h=email.Header.Header(name)
        dh=email.Header.decode_header(h)
        fname = dh[0][0]

        data=par.get_payload(decode=True)

        try:
          f=open(fname,'wb')
        except:
          data_name=str(h).replace('/','_') #附件数据
          f=open(datapath+'\\'+str(index)+data_name,'wb')
        f.write(data)
        f.close()

if __name__=='__main__':
  dir="C:\\Users\\admin\\Desktop\\srcData\\"  #邮件存放路径
  Dir=unicode(dir,"utf8")
  datapath="C:\\Users\\admin\\Desktop\\destData"  #附件存放路径
  DataPath=unicode(datapath,"utf8")
  count=0


  for filename in os.listdir(dir):
    print filename
    filename=unicode(dir+filename,"utf8")  #由于邮件名出现中文,所以统一用utf8编码,便于读取
    print filename
    count+=1
    mail_to_text(filename,datapath,count)

注:邮件名称中出现中文时需特别小心

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中编写数据库模块的教程
Apr 29 Python
python调用fortran模块
Apr 08 Python
Python md5与sha1加密算法用法分析
Jul 14 Python
详解Python 模拟实现生产者消费者模式的实例
Aug 10 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
Jan 17 Python
Django实现单用户登录的方法示例
Mar 28 Python
python多进程读图提取特征存npy
May 21 Python
通过python实现随机交换礼物程序详解
Jul 10 Python
OpenCV+Python--RGB转HSI的实现
Nov 27 Python
Python下利用BeautifulSoup解析HTML的实现
Jan 17 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
Jan 29 Python
Python中的套接字编程是什么?
Jun 21 Python
Python3使用SMTP发送带附件邮件
Jun 16 #Python
Python3使用turtle绘制超立方体图形示例
Jun 19 #Python
python3使用SMTP发送HTML格式邮件
Jun 19 #Python
python3.X 抓取火车票信息【修正版】
Jun 19 #Python
python3使用SMTP发送简单文本邮件
Jun 19 #Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 #Python
python3第三方爬虫库BeautifulSoup4安装教程
Jun 19 #Python
You might like
PHP+.htaccess实现全站静态HTML文件GZIP压缩传输(一)
2007/02/15 PHP
php获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
ThinkPHP3.1新特性之字段合法性检测详解
2014/06/19 PHP
php+ajax实现无刷新分页的方法
2014/11/04 PHP
dwr spring的集成实现代码
2009/03/22 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
JavaScript实现鼠标点击后层展开效果的方法
2015/05/13 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
Canvas实现微信红包照片效果
2018/08/21 Javascript
快速解决vue-cli在ie9+中无效的问题
2018/09/04 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
什么时候不能在 Node.js 中使用 Lock Files
2019/06/24 Javascript
layui操作列按钮个数和文字颜色的判断实例
2019/09/11 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
解决Vue中使用keepAlive不缓存问题
2020/08/04 Javascript
python使用PIL模块实现给图片打水印的方法
2015/05/22 Python
Python 对象中的数据类型
2017/05/13 Python
python中set()函数简介及实例解析
2018/01/09 Python
django模板结构优化的方法
2019/02/28 Python
Python实现通过解析域名获取ip地址的方法分析
2019/05/17 Python
python分割一个文本为多个文本的方法
2019/07/22 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
Python tornado上传文件的功能
2020/03/26 Python
Python中用xlwt制作表格实例讲解
2020/11/05 Python
挂靠协议书范本
2014/04/22 职场文书
放飞中国梦演讲稿
2014/04/23 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
小学感恩节活动策划方案
2014/10/06 职场文书
2014年档案管理工作总结
2014/11/17 职场文书
高一作文之乐趣
2019/11/21 职场文书
python解析照片拍摄时间进行图片整理
2022/07/23 Python