核心用法
apple-mail-search 是一个针对 macOS Apple Mail.app 的本地邮件搜索 CLI 工具,通过直接查询 Envelope Index SQLite 数据库实现极速检索。支持按主题、发件人、收件人、日期范围、未读状态、附件类型等多维度搜索,并可导出 JSON/CSV 格式。
关键特性:
- 安全只读机制:先复制数据库到临时文件再查询,避免损坏运行中的 Mail.app
- 双模式内容获取:SQLite 查元数据(~50ms/13万封),AppleScript 读正文(适合少量邮件)
- 多格式输出:支持表格、JSON、CSV,便于脚本化处理
显著优点
1. 速度碾压:查询 13 万封邮件仅需 ~50ms,对比纯 AppleScript 的 8+ 分钟,性能提升约 10000 倍
2. 填补系统缺陷:Apple 自 Big Sur 移除 Spotlight emlx 导入器后,此工具成为本地邮件搜索的唯一高效方案
3. 零侵入安全设计:临时副本策略确保不会干扰 Mail.app 正常运行
4. 灵活扩展:支持原始 SQL 查询,满足高级用户需求
潜在缺点与局限性
- 仅支持 Apple Mail.app:无法兼容其他邮件客户端
- 只读限制:仅能搜索/阅读,无法撰写或发送邮件(需配合
himalaya技能) - 正文读取瓶颈:AppleScript 读取邮件正文在批量场景下极慢,仅适合单封或少量邮件
- SQLite 元数据局限:正文内容不在数据库中,必须回退到 AppleScript
适合人群
- 需要高频搜索海量本地邮件的 macOS 高级用户
- 依赖 Apple Mail.app 但不满其原生搜索性能的用户
- 需要将邮件数据导出用于自动化工作流的开发者
常规风险
- 数据隐私:工具读取完整邮件元数据,虽为本地处理,但用户需注意脚本权限管理
- AppleScript 依赖:读取正文功能依赖 Mail.app 的 AppleScript 接口,若 Mail.app 无响应可能导致阻塞
- 版本兼容性:数据库路径随 macOS/Mail.app 版本变化(V9/V10/V11),需关注更新