You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从EML文件的邮件正文中提取所有电子邮件地址

从EML邮件正文中提取电子邮件地址的Python实现

我正在开展一个邮箱数据提取项目,目标是从邮件正文中提取所有包含的电子邮件地址,以下是实现该功能的Python脚本:

# Python script to extract email addresses from email messages / eml
# Comment from JNevill solved the final bit
import os
import re
from email import policy
from email.parser import BytesParser

# 切换到存放EML文件的共享目录
os.chdir(r"\\10.21.1.236\websites\vaccinatieplanner\mail\stroomz\onbezorgd")
emaillist = []

# 遍历目录下所有邮件文件
for emailmessage in os.listdir():
    with open(emailmessage, 'rb') as em:
        # 解析EML文件
        msg = BytesParser(policy=policy.default).parse(em)
    # 优先提取纯文本正文,无纯文本则提取HTML正文
    emailmsgraw = msg.get_body(preferencelist=('plain', 'html'))
    emailmsg = emailmsgraw.get_content()
    # 正则匹配所有邮箱地址并加入列表
    emaillist.extend(re.findall(r'[\w.+-]+@[\w-]+\.[\w.-]+', emailmsg))

# 输出所有提取到的邮箱地址
print(emaillist)

脚本说明

  • 依赖Python标准库完成解析,无需额外安装第三方包
  • 优先读取纯文本正文,减少HTML标签对提取结果的干扰
  • 正则表达式支持包含下划线、点、加号、减号的常见邮箱格式
  • 批量处理指定目录下的所有EML文件,自动汇总提取到的邮箱地址

内容的提问来源于stack exchange,提问作者Sneil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:37:17