核心用法
fastmail-jmap 是一款专为 AI Agent 设计的邮件管理工具,通过 Fastmail 的现代化 JMAP API 实现完整的邮件生命周期管理。用户只需获取 Fastmail API Token(支持 fmu1- 前缀的读写+发送权限),设置环境变量后即可通过命令行直接操作。
功能覆盖
- 查询类:inbox/unread(收件箱/未读)、search(全文搜索,支持发件人、日期范围过滤)、mailboxes(邮箱列表)、read(读取完整正文)
- 操作类:move(移动邮件)、mark-read/mark-unread(标记已读/未读)、trash(移至垃圾箱)
- 发送类:send(发送邮件,支持自定义发件人身份)
技术特性
采用 JMAP(JSON Meta Application Protocol)替代传统 IMAP/SMTP,纯 HTTP JSON 通信,支持批量请求合并。实现层面完全依赖 Python 3 标准库(urllib、json),零第三方依赖,单文件约 300 行代码,状态无感知设计(无本地数据库或同步机制)。
显著优点
1. 极简集成成本:无需 pip 安装、无 OAuth 流程、无应用注册,Token 即开即用,2 分钟完成配置
2. Agent 原生设计:提供 AGENTS.md 模板和心跳/定时任务示例,可直接嵌入系统提示词
3. 性能优势:JMAP 批量请求机制减少网络往返,查询响应快于 IMAP
4. 隐私友好:Fastmail 无广告扫描,支持自定义域名,适合个人/小团队专业场景
5. 成本低廉:Fastmail 基础版 $5/月,远低于企业邮件 API 方案
潜在缺点与局限性
1. 服务商锁定:深度绑定 Fastmail 生态,无法迁移至 Gmail/Outlook 等其他邮件服务商
2. 功能边界:仅支持 Fastmail 账号,不支持多账户管理;无附件上传/下载功能(当前实现)
3. Token 安全:长期有效令牌需妥善保管,泄露即导致完整邮件访问权限
4. 搜索局限:全文搜索依赖服务端实现,不支持复杂正则或本地索引优化
5. 日期处理:强制 UTC 转换,跨时区场景需注意 --after/--before 参数的实际语义
适合人群
- 运行 AI Agent 的独立开发者/自动化爱好者
- 需要邮件自动化但抗拒 OAuth 复杂配置的技术用户
- Fastmail 现有用户寻求 API 扩展
- 构建个人工作流(发票归档、邮件摘要、定时提醒)的 solopreneur
常规风险
- 权限过度授予:Token 需同时开启 Email(读写)和 Email Submission(发送)范围,误配置可能导致非预期操作
- 误操作不可逆:trash/move 等命令直接生效,无确认环节;send 命令虽建议人工审批但仍依赖实现约束
- Token 泄露:环境变量或配置文件中的明文 Token 需配合 1Password/密码管理器使用
- API 限流:高频自动化场景可能触发 Fastmail 速率限制,需合理设置心跳间隔
- 单点故障:Fastmail 服务中断将直接影响邮件功能可用性