MailParser 邮件结构化提取
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/extract-structured-data-and-attachments-from-raw-email-mailparser 技能。
技能介绍
要解决的问题
当 Agent 从队列、工单系统或 webhook 里拿到一封邮件时,拿到的通常不是「主题 + 正文」这样干净的对象,而是一段 RFC822 / MIME 原始报文:头部字段分散、正文同时存在 text/plain 和 text/html 两个版本、发件人和收件人需要从 From、To、Cc 中解析成结构化地址,附件还可能是内联图片、多段 base64 或者嵌套 message/rfc822。手写正则去拆这些内容,很快会撞上编码(quoted-printable、base64)、边界边界字符串、MIME 层级这几类问题。
技能如何工作
这个技能把 mailparser 封装成一条「原始报文 → 规范化结果」的处理路径:
- 统一解析:一次性输出头部、纯文本正文、HTML 正文、解析后的地址列表(含
to、cc、bcc)以及附件清单,不需要调用方再拼装 MIME 层级。 - 流式处理:整个解析过程以流的方式进行,因此对体积很大的报文(100MB 以上)也能以相对低的开销完成解析,而不必先把整封邮件读进内存。
- 面向交接:输出结构稳定,适合接在 Agent 的入口侧做邮件接入,把结果交给后续的任务编排、分类、摘要或存储环节。
适用边界与注意点
- 这个技能定位是邮件接入与交接,不是邮箱客户端,也不承担投递、SMTP 发送或队列管理职责。
- 运行环境需要 Node.js。
- 上游项目已进入维护模式:只继续接收安全更新和关键缺陷修复,不会再新增功能或改变既有行为。如果是新项目,建议评估 PostalMime 等替代方案。
- 对于超大附件或超大正文,仍应关注磁盘与内存策略,技能本身不负责做报文截断或分页。
使用场景
- Agent 从 webhook 或队列拿到原始邮件,需要把 header、正文和地址整理成结构化数据再交给下一步。
- 客服系统接入客户来信,需要提取纯文本、HTML 正文和附件清单,用于工单归档或自动回复。
- 收到超大邮件时,需要以流式方式解析并拿到附件,避免一次性读入全部内容。
- 需要从 RFC822 原始报文中解析 From、To、Cc 等地址,用于发件人聚合或风控检查。
适合人员
- 负责 Agent 工具链的后端工程师,需要在邮件接入阶段获得稳定、结构化的解析结果。
- 构建客服或工单系统的开发者,需要把客户来信拆成正文、地址和附件后写入数据库。
- 处理数据管道的工程师,需要对大体积 MIME 邮件做流式解析并控制内存开销。