核心用法
Fruitmail 是一款专为 macOS Apple Mail.app 设计的高性能搜索 CLI 工具。它绕过缓慢的 AppleScript 全量遍历,直接读取本地 SQLite 邮件数据库(~/Library/Mail/V*/MailData/Envelope Index),实现毫秒级复杂查询。
典型工作流程:
- 使用
fruitmail search进行多条件检索(主题、时间、未读状态) - 通过
fruitmail body <id>调用 AppleScript 读取完整邮件正文 - 支持
fruitmail open <id>一键跳转至 Mail.app 查看
显著优点
1. 性能飞跃:相比 AppleScript 全库扫描 8 分钟以上,SQLite 查询仅需约 50ms(13 万封邮件场景)
2. 全文支持:突破 Mail.app 原生搜索局限,可检索邮件正文内容
3. 安全可靠:默认只读模式,可选 --copy 参数先复制数据库再查询,彻底避免数据损坏风险
4. 结构化输出:原生支持 --json 格式,便于与 jq 等工具链集成
局限性与风险
- 平台锁定:macOS 独占,依赖 Apple Mail.app 本地数据库结构
- 功能边界:纯搜索/阅读工具,不支持发送邮件;需配合
himalaya等 IMAP/SMTP 工具完成发送 - AppleScript 依赖:读取正文仍需调用 AppleScript,单次查询存在短暂延迟
- 版本敏感:数据库路径随 Mail.app 版本(V9/V10/V11)变化,未来 macOS 更新可能需适配
适合人群
- 每日处理大量邮件的 Mac 高级用户
- 需要将邮件数据集成到自动化脚本(Alfred、Raycast、Hammerspoon)的开发者
- 对原生 Mail.app 搜索性能不满,寻求替代方案的 productivity 用户
常规风险提示
工具虽采用只读设计,但直接操作 Mail.app 底层数据库始终存在理论风险。建议定期 Time Machine 备份,并在关键工作前使用 --copy 模式。