1、首先搭建好python的开发环境,

推荐是visual studio code开发环境

2、通过email库提取出邮件eml文件中的附件文件,其中指定的eml文件夹中的文件列表如下图

文件eml是什么文件_eml文件_文件eml改成pdf

具体代码如下,可根据自己的需要换成自己的eml文件

from email import policyfrom email.header import decode_headerfrom email.parser import BytesParser
# 从eml文件中提取附件def extract_attachments_from_eml(emlFileDir): saveDir = '保存的附件' # 需要保存的附件目录 saveDir = os.path.join(emlFileDir, saveDir) if not os.path.exists(saveDir): # 在打开的eml目录下新建saveDir os.mkdir(saveDir) # 遍历目录下的所有文件 for filename in os.listdir(emlFileDir): if filename.endswith('.eml'): # 只处理eml文件 file_path = os.path.join(emlFileDir, filename) # 得到eml文件路径 with open(file_path, 'rb') as fp: # 使用BytesParser打开并解析EML文件 msg = BytesParser(policy=policy.default).parse(fp) # 遍历eml邮件中的所有部分 for part in msg.walk(): # 检查是否有附件,有content-disposition且不为inline if part.get_content_disposition() and part.get_content_disposition().startswith('attachment'): filename = part.get_filename() # 解码文件名,以防止他是非ascii字符 # filename = email.header.make_header(email.header.decode_header(filename)) filename = part.get_filename() filepath = os.path.join(saveDir, filename) # 构建完整的保存路径 # 保存附件到本地 if not os.path.isfile(filepath): with open(filepath, 'wb') as f: f.write(part.get_payload(decode=True)) print(f"从eml文件中提取的附件 {filename} 已保存到 {filepath}") else: print(f"从eml文件中提取的附件 {filename} 已存在于 {filepath}")if __name__ == '__main__':    extract_attachments_from_eml('./eml附件')

3、在main函数中指定需要提取的eml文件夹所在的路径,然后执行如下代码

pythoneml.py

4、执行上述命令后,会在指定的eml文件夹下产生这个文件夹

文件eml是什么文件_文件eml改成pdf_eml文件

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: yjxmw518