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 相关文章推荐
pycharm 使用心得(七)一些实用功能介绍
Jun 06 Python
Python wxPython库使用wx.ListBox创建列表框示例
Sep 03 Python
学习python的前途 python挣钱
Feb 27 Python
wxPython电子表格功能wx.grid实例教程
Nov 19 Python
Python 实现opencv所使用的图片格式与 base64 转换
Jan 09 Python
python 实现将Numpy数组保存为图像
Jan 09 Python
Python计算公交发车时间的完整代码
Feb 12 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
python 截取XML中bndbox的坐标中的图像,另存为jpg的实例
Mar 10 Python
python实现简单坦克大战
Mar 27 Python
python中selenium库的基本使用详解
Jul 31 Python
基于Python实现下载网易音乐代码实例
Aug 10 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
VFP与其他应用程序的集成
2006/10/09 PHP
PHP 获取文件权限函数介绍
2013/07/11 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
2014/12/24 PHP
PHP自定义函数格式化json数据示例
2016/09/14 PHP
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
JS实现Enter键跳转及控件获得焦点
2013/08/12 Javascript
js动画效果制件让图片组成动画代码分享
2014/01/14 Javascript
jquery实现省市select下拉框的替换(示例代码)
2014/02/22 Javascript
浅谈javascript的Array.prototype.slice.call
2015/08/31 Javascript
JavaScript中三种异步上传文件方式
2016/03/06 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
Python break语句详解
2014/03/11 Python
python在指定目录下查找gif文件的方法
2015/05/04 Python
深入理解python对json的操作总结
2017/01/05 Python
Python实现判断一行代码是否为注释的方法
2018/05/23 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
Python使用Tkinter实现滚动抽奖器效果
2020/01/06 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
小学教师听课制度
2014/02/01 职场文书
行政专员求职信范文
2014/05/03 职场文书
应届大学生自荐书
2014/06/17 职场文书
基层党员对照检查材料
2014/08/25 职场文书
国庆横幅标语
2014/10/08 职场文书
2014大学班主任工作总结
2014/11/08 职场文书
个性发展自我评价2015
2015/03/09 职场文书
爱心捐书倡议书
2015/04/27 职场文书
转变工作作风心得体会
2016/01/23 职场文书
2019大学生社会实践报告汇总
2019/08/16 职场文书
2019年“红色之旅”心得体会1000字(3篇)
2019/09/27 职场文书
Python 解决空列表.append() 输出为None的问题
2021/05/23 Python
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android