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 Django模板的使用方法(图文)
Nov 04 Python
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
Oct 18 Python
一步步解析Python斗牛游戏的概率
Feb 12 Python
python登录并爬取淘宝信息代码示例
Dec 09 Python
Python实现判断一行代码是否为注释的方法
May 23 Python
Linux上使用Python统计每天的键盘输入次数
Apr 17 Python
利用python将图片版PDF转文字版PDF
May 03 Python
深入浅析Python代码规范性检测
Jul 31 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
Nov 28 Python
Python实现简单的猜单词
Jun 15 Python
python中pycryto实现数据加密
Apr 29 Python
python基础之//、/与%的区别详解
Jun 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
Windows下的PHP5.0详解
2006/11/18 PHP
基于MySQL分区性能的详细介绍
2013/05/02 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
PHP Streams(流)详细介绍及使用
2015/05/12 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
asp.net和php的区别点总结
2019/10/10 PHP
超简单的jquery的AJAX用法
2010/05/10 Javascript
JQuery 操作select标签实现代码
2010/05/14 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
js中利用cookie实现记住密码功能
2020/08/20 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
从零开始封装自己的自定义Vue组件
2018/10/09 Javascript
js中对象和面向对象与Json介绍
2019/01/21 Javascript
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
[00:32]2018DOTA2亚洲邀请赛VGJ.T出场
2018/04/03 DOTA
[01:38]完美世界DOTA2联赛(PWL)宣传片:第一站
2020/10/26 DOTA
对python多线程中互斥锁Threading.Lock的简单应用详解
2019/01/11 Python
python文件读写代码实例
2019/10/21 Python
详解如何用python实现一个简单下载器的服务端和客户端
2019/10/28 Python
termux中matplotlib无法显示中文问题的解决方法
2021/01/11 Python
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
初婚初育证明
2014/01/14 职场文书
2014新年寄语
2014/01/20 职场文书
中学生学雷锋活动心得体会
2014/03/10 职场文书
大宝sod蜜广告词
2014/03/21 职场文书
英语教师求职信
2014/06/16 职场文书
商业门面租房协议书
2014/11/25 职场文书
2015年医务科工作总结范文
2015/05/26 职场文书
难以忽视的真相观后感
2015/06/05 职场文书