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实现查找系统盘中需要找的字符
Jul 14 Python
详解Python发送邮件实例
Jan 10 Python
Python对列表中的各项进行关联详解
Aug 15 Python
Python的地形三维可视化Matplotlib和gdal使用实例
Dec 09 Python
Python实现将doc转化pdf格式文档的方法
Jan 19 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
Puppeteer使用示例详解
Jun 20 Python
Django 自定义权限管理系统详解(通过中间件认证)
Mar 11 Python
Django用户身份验证完成示例代码
Apr 03 Python
python中有帮助函数吗
Jun 19 Python
Python批量解压&压缩文件夹的示例代码
Apr 04 Python
Python使用socket去实现TCP客户端和TCP服务端
Apr 12 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
整理的一些实用WordPress后台MySQL操作命令
2013/01/07 PHP
函数中使用require_once问题深入探讨 优雅的配置文件定义方法推荐
2014/07/02 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
Chrome中模态对话框showModalDialog返回值问题的解决方法
2010/05/25 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
JavaScript中Boolean对象的属性解析
2015/10/21 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
在ABP框架中使用BootstrapTable组件的方法
2017/07/31 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
JavaScript经典案例之简易计算器
2020/08/24 Javascript
在Django的URLconf中使用命名组的方法
2015/07/18 Python
Python正则表达式匹配中文用法示例
2017/01/17 Python
python文件选择对话框的操作方法
2019/06/27 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
详解python日志输出使用配置文件格式
2021/02/10 Python
Superdry极度干燥美国官网:英国制造的服装品牌
2018/11/13 全球购物
几个判断型的面试题
2012/07/03 面试题
会计自荐书
2013/12/02 职场文书
纪念建党演讲稿范文
2014/01/13 职场文书
校庆活动方案
2014/03/31 职场文书
课外活动总结范文
2014/07/09 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
见习报告的格式
2014/11/04 职场文书
房产公证书
2015/01/23 职场文书
Python中time标准库的使用教程
2022/04/13 Python