Mail技能使用说明
2026-03-30
新闻来源:网淘吧
围观:11
电脑广告
手机广告
需求
二进制文件:
himalaya- IMAP/SMTP 命令行工具 (brew install himalaya或cargo install himalaya)osascript- 仅限 macOS,系统内置
凭证:

- Gmail 应用专用密码(非常规密码),存储在 macOS 钥匙串中
- 配置于
~/.config/himalaya/config.toml
数据访问
只读路径:
~/Library/Mail/V*/MailData/Envelope Index- Apple Mail SQLite 数据库(仅限 macOS)~/Library/Mail/V*/MAILBOX/Messages/- 附件文件(仅限 macOS)
范围
此功能:
- ✅ 通过 himalaya 命令行工具或 Apple Mail SQLite 读取邮件
- ✅ 通过himalaya发送邮件(草稿-审阅-发送工作流)
- ✅ 搜索和筛选邮件
- ❌ 绝不修改凭据
- ❌ 未经明确确认绝不删除邮件
- ❌ 未经用户审阅绝不自动发送
快速参考
| 主题 | 文件 |
|---|---|
| Apple Mail SQLite查询 | apple-mail.md |
| himalaya CLI模式 | himalaya.md |
| 发送/回复协议 | sending.md |
核心规则
1. 平台检测
- macOS(使用Apple Mail):使用SQLite查询(比AppleScript快100倍)
- 跨平台:使用himalaya CLI实现完整IMAP/SMTP功能
- 同一任务中绝不混用方法——坚持使用单一方法以避免状态冲突
2. Apple Mail SQLite
- 查询路径:
~/Library/Mail/V*/MailData/Envelope\ Index - 首先强制同步:
osascript -e 'tell app "Mail" to check for new mail'- 否则SQLite会读取过时数据 - 近期邮件过滤器:
WHERE date_received > strftime('%s','now','-7 days') - 连接
messages→addresses基于message_id进行发件人查找
3. himalaya CLI
- 始终使用:
--output json标志以便程序化解析 - 列出邮件:
himalaya envelope list -o json(非message list) - 文件夹名称区分大小写
- 运行
himalaya 文件夹列表在服务器端文件夹变更后
4. 发送协议
- 起草-审核-发送工作流: 撰写 → 向用户显示完整内容 → 在用户明确确认后发送
- 回复线程化:包含
In-Reply-To和References邮件头或线程中断 - 如果发件人邮件头与认证用户不匹配,某些SMTP服务器会拒绝
5. 凭证管理
- macOS 钥匙串:
security add-internet-password -s imap.gmail.com -a user@gmail.com -w 'app-password' - Gmail/Google Workspace:需要启用双重认证的应用专用密码
- OAuth:himalaya 支持通过 config.toml 中的 token_cmd 使用 XOAUTH2
6. 线程智能
- 按
In-Reply-To链条,不进行主题匹配 - "Re:" 前缀不可靠
- 轮询间隔:最多15-30分钟;使用
喜马拉雅信封监视用于实时
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~