Apple Mail Search 是一款专为 macOS 用户设计的命令行工具,旨在通过直接查询 Apple Mail 的 SQLite 数据库来大幅提升邮件搜索效率。在 Big Sur 及后续系统中,系统自带的 Spotlight 搜索功能已无法正常索引邮件内容,而传统的 AppleScript 方法遍历海量邮件更是需要耗费数分钟甚至更长时间。相比之下,该工具利用底层数据库结构进行精准检索,将响应时间压缩至约 50 毫秒,极大提升了工作效率。其核心原理是访问存储在 `~/Library/Mail/V{9,10,11}/MailData/Envelope Index` 中的结构化数据,而非解析庞大的 .emlx 文件。虽然仅支持只读操作且无法处理邮件正文内容,但对于快速定位特定主题、发件人、日期范围或附件类型的邮件而言,它已成为目前最高效的解决方案之一。
核心功能特点
- 基于 SQLite 直接查询 Apple Mail 数据库,响应速度达 50ms,远快于 AppleScript 的 8 分钟以上
- 支持按主题关键词、发件人邮箱、发件人姓名、收件人地址等条件精确筛选邮件
- 可列出未读邮件、带附件的邮件,并支持按附件类型(如 PDF)分类查找
- 提供最近 N 天、自定义日期区间等多种时间维度查询方式
- 输出格式灵活,支持 JSON、CSV 和纯文本,便于脚本集成与数据处理
适用场景
该工具特别适合需要频繁从大量历史邮件中快速定位关键信息的 macOS 用户。例如财务人员可以输入 `mail-search subject “statement” -n 50` 迅速调取过去一个月的银行对账单;采购专员可通过 `mail-search sender “@supplier.com” –csv > invoices.csv` 导出指定供应商的所有往来邮件用于归档;技术支持团队也能用 `mail-search unread –json | jq ‘.[] | .subject’` 批量获取未读邮件标题并自动分类处理。对于开发者或自动化脚本编写者来说,JSON 输出模式尤为实用,能够轻松与其他工具链结合,实现邮件监控、备份提醒或工作流触发等功能。此外,当系统内置搜索失效时,此工具成为绕过限制、恢复高效检索能力的可靠替代方案。
