基于SQLite的Apple Mail极速搜索工具,支持邮件正文读取,查询速度较AppleScript提升千倍,采用只读临时副本确保安全。
说明:
## 核心用法
`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),需关注更新









