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通过BF算法实现关键词匹配的方法
Mar 13 Python
Python数据分析之真实IP请求Pandas详解
Nov 18 Python
python递归查询菜单并转换成json实例
Mar 27 Python
python如何读写csv数据
Mar 21 Python
基于numpy中数组元素的切片复制方法
Nov 15 Python
python在TXT文件中按照某一字符串取出该字符串所在的行方法
Dec 10 Python
python使用Pandas库提升项目的运行速度过程详解
Jul 12 Python
Python实现的远程文件自动打包并下载功能示例
Jul 12 Python
python3.7+selenium模拟淘宝登录功能的实现
May 26 Python
关于tf.matmul() 和tf.multiply() 的区别说明
Jun 18 Python
如何完美的建立一个python项目
Oct 09 Python
使用scrapy实现增量式爬取方式
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实现多级树型菜单
2006/10/09 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
php中全局变量global的使用演示代码
2011/05/18 PHP
解析strtr函数的效率问题
2013/06/26 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
php实现的Cookies操作类实例
2014/09/24 PHP
PHP+jquery+CSS制作头像登录窗(仿QQ登陆)
2016/10/20 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
Jquery增加鼠标中间功能mousewheel的实例代码
2013/09/05 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
Node.js学习之地址解析模块URL的使用详解
2017/09/28 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
2018/11/25 Javascript
微信小程序实现省市区三级地址选择
2020/06/21 Javascript
解决layer图标icon不加载的问题
2019/09/04 Javascript
vue计算属性无法监听到数组内部变化的解决方案
2019/11/06 Javascript
python根据出生日期获得年龄的方法
2015/03/31 Python
python更新列表的方法
2015/07/28 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Python下使用Scrapy爬取网页内容的实例
2018/05/21 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
python循环定时中断执行某一段程序的实例
2019/06/29 Python
python 操作hive pyhs2方式
2019/12/21 Python
Monica Vinader官网:英国轻奢珠宝品牌
2020/02/05 全球购物
班班通项目实施方案
2014/02/25 职场文书
办理信用卡工作证明
2014/09/30 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
回复函格式及范文
2015/07/14 职场文书
小学英语课教学反思
2016/02/15 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python