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字典get()方法用法分析
Apr 17 Python
Python实现的密码强度检测器示例
Aug 23 Python
Python使用requests及BeautifulSoup构建爬虫实例代码
Jan 24 Python
教你使用python画一朵花送女朋友
Mar 29 Python
python保存数据到本地文件的方法
Jun 23 Python
Python 爬虫之Beautiful Soup模块使用指南
Jul 05 Python
对Python中的条件判断、循环以及循环的终止方法详解
Feb 08 Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 Python
手把手教你Python yLab的绘制折线图的画法
Oct 23 Python
python实现串口通信的示例代码
Feb 10 Python
django之从html页面表单获取输入的数据实例
Mar 16 Python
Python import模块的缓存问题解决方案
Jun 02 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
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
PHP中执行MYSQL事务解决数据写入不完整等情况
2014/01/07 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
php使用Jpgraph绘制饼状图的方法
2015/06/10 PHP
Add a Table to a Word Document
2007/06/15 Javascript
javascript CSS画图之基础篇
2009/07/29 Javascript
jQuery 树形结构的选择器
2010/02/15 Javascript
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
用Jquery.load载入页面实现局部刷新
2014/01/22 Javascript
jQuery链使用指南
2015/01/20 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
2015/09/27 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
jQuery实现radio第一次点击选中第二次点击取消功能
2017/05/15 jQuery
详解在React.js中使用PureComponent的重要性和使用方式
2018/07/10 Javascript
JS 数组基本用法入门示例解析
2020/01/16 Javascript
解决ant-design-vue中menu菜单无法默认展开的问题
2020/10/31 Javascript
mapboxgl实现带箭头轨迹线的代码
2021/01/04 Javascript
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
[36:16]完美世界DOTA2联赛PWL S3 access vs Rebirth 第一场 12.19
2020/12/24 DOTA
Python定义一个跨越多行的字符串的多种方法小结
2018/07/19 Python
解析Python3中的Import
2019/10/13 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
Python偏函数Partial function使用方法实例详解
2020/06/17 Python
突袭HTML5之Javascript API扩展2—地理信息服务及地理位置API学习
2013/01/31 HTML / CSS
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
澳大利亚领先的宠物用品商店:VetSupply
2017/09/08 全球购物
英国二手物品交易网站:Preloved
2017/10/06 全球购物
小学教师师德感言
2014/02/10 职场文书
机关单位人员学雷锋心得体会
2014/03/10 职场文书
先进党支部申报材料
2014/12/24 职场文书
城南旧事读书笔记
2015/06/29 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
oracle数据库去除重复数据
2022/05/20 Oracle