python实现批量解析邮件并下载附件

作者:funny75 时间:2023-07-05 02:32:16 

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)

注:邮件名称中出现中文时需特别小心

来源:https://blog.csdn.net/funny75/article/details/50405220

标签:python,解析邮件,下载附件
0
投稿

猜你喜欢

  • 微信小程序之事件交互操作实例分析

    2024-04-19 10:29:54
  • Python 中的 Counter 模块及使用详解(搞定重复计数)

    2022-08-22 15:46:17
  • python中单下划线(_)和双下划线(__)的特殊用法

    2022-08-09 22:23:22
  • Python生成随机数组的方法小结

    2023-10-09 08:19:41
  • Python list sort方法的具体使用

    2023-01-14 22:27:46
  • python实现简易动态时钟

    2022-02-18 20:29:05
  • SQL Server 压缩日志与减少SQL Server 文件大小的方法

    2024-01-22 04:26:45
  • 两个table之间相互移动数据

    2024-04-10 13:50:56
  • JavaWeb实现显示mysql数据库数据

    2024-01-20 09:39:43
  • MySQL之information_schema数据库详细讲解

    2024-01-16 18:56:54
  • Sql Server之数据类型详解

    2024-01-20 08:08:11
  • vue+element项目中过滤输入框特殊字符小结

    2024-04-28 10:53:44
  • 一文搞懂Python中Pandas数据合并

    2023-03-21 13:28:56
  • pytest-sugar 执行过程中显示进度条的脚本分享

    2023-01-26 13:20:40
  • 1分钟快速生成用于网页内容提取的xslt

    2021-08-06 17:43:41
  • 基于Jquery+Ajax+Json实现分页显示附效果图

    2024-05-21 10:12:27
  • php自动获取字符串编码函数mb_detect_encoding

    2023-09-12 03:32:11
  • 程序员的八种境界,你在哪一境?

    2022-07-19 11:22:19
  • 安装PyTorch的详细过程记录

    2023-05-12 07:50:12
  • 一篇文章带你了解python中的typing模块和类型注解

    2023-08-05 21:37:02
  • asp之家 网络编程 m.aspxhome.com