用途:这是一个 macOS 命令行工具,直接对 Apple Mail 的 Envelope Index SQLite 数据库(位于 ~/Library/Mail/V10/MailData/)做 SQL 查询,用于按主题、发件人、日期、正文预览检索邮件,也可列出账户与邮箱、读取单封邮件内容或导出某日全部邮件,无需打开 Mail.app。
主要能力:查询通过关联 messages、subjects、addresses、mailboxes、summaries 等表返回元数据(主题、发件人、日期、邮箱);Mail.app 会实时写入该库,因此结果保持最新;支持按账户、邮箱、日期范围、未读、已标记过滤并限制结果数(默认 50);可读取消息 ID 对应的 .emlx 完整内容。
使用方式:命令包括 accounts、mailboxes、search、recent、read、dump。search 支持 --subject/-s、--sender/-f、--body/-b、--account/-a、--mailbox/-m、--after、--before、--limit/-n、--unread/-u、--flagged/-F。示例:mail-search accounts;mail-search mailboxes --account "Wasc.me";mail-search search --subject "invoice" --after "2026-01-01";mail-search read --id 329402。输出每封邮件三行:ID、日期时间、发件人;主题;账户/邮箱路径。
适用场景与限制:适合需要快速本地邮件检索的 macOS 用户。工具对数据库只读,不修改数据,无网络请求,全部在本地完成。正文搜索基于 summaries 表的预览而非完整内容,查全文可用 read --id;附件不可搜索;已删除但在废纸篓中的邮件可能仍出现。若提示数据库未找到,需先至少打开一次 Apple Mail;若数据库被锁定,可稍后重试。性能方面:列账户 <0.1s,任意条件搜索 <0.3s,读取内容 <0.2s。部分 IMAP 邮件可能未完整下载。