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二叉树的实现实例
Nov 21 Python
python通过正则查找微博@(at)用户的方法
Mar 13 Python
Python的SQLAlchemy框架使用入门
Apr 29 Python
python对html代码进行escape编码的方法
May 04 Python
Python实现控制台中的进度条功能代码
Dec 22 Python
django 按时间范围查询数据库实例代码
Feb 11 Python
用python统计代码行的示例(包括空行和注释)
Jul 24 Python
python中的不可变数据类型与可变数据类型详解
Sep 16 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
Jun 05 Python
Django的models模型的具体使用
Jul 15 Python
利用python实现周期财务统计可视化
Aug 25 Python
python时间与Unix时间戳相互转换方法详解
Feb 13 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 calender(日历)二个版本代码示例(解决2038问题)
2013/12/24 PHP
使用PHP+AJAX让WordPress动态加载文章的教程
2015/12/11 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
扩展IE中一些不兼容的方法如contains、startWith等等
2014/01/09 Javascript
jQuery横向擦除焦点图特效代码分享
2015/09/06 Javascript
Highcharts入门之简介
2016/08/02 Javascript
详解基于webpack搭建react运行环境
2017/06/01 Javascript
layer实现关闭弹出层刷新父界面功能详解
2017/11/15 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
[36:13]Mineski vs iG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python文件比较示例分享
2014/01/10 Python
Python 稀疏矩阵-sparse 存储和转换
2017/05/27 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
pytorch中torch.max和Tensor.view函数用法详解
2020/01/03 Python
python实现经纬度采样的示例代码
2020/12/10 Python
python switch 实现多分支选择功能
2020/12/21 Python
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
Perfume’s Club中文官网:西班牙美妆在线零售品牌
2020/08/24 全球购物
汽修专业学生自我鉴定
2013/11/16 职场文书
生物科学专业个人求职信范文
2013/12/05 职场文书
学生喝酒检讨书
2014/02/06 职场文书
护士进修自我鉴定
2014/02/07 职场文书
新年寄语大全
2014/04/12 职场文书
2014年廉洁自律承诺书
2014/05/26 职场文书
保险公司演讲稿
2014/09/02 职场文书
法人身份证明书
2014/10/08 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
幼师中班个人总结
2015/02/12 职场文书
出国留学单位推荐信
2015/03/26 职场文书
2015年车间主任工作总结
2015/05/21 职场文书
行政处罚听证告知书
2015/07/01 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
使用Redis实现点赞取消点赞的详细代码
2022/03/20 Redis