桃子桃子快讯
返回首页
工具

DearAgent:开源自托管的 AI 代理邮箱服务

基于 Cloudflare 的开源邮箱 API,让每个 AI 代理拥有独立收件箱。

2026.09.12 · 周六4 分钟阅读

开发者社区中出现了一个名为 DearAgent 的开源项目,目标是为 AI 代理提供独立的邮箱收件能力。整个服务运行在用户自己的 Cloudflare 账户之上,无需额外服务器,单个 Worker 即可承载完整链路,被定位为商业化产品 AgentMail 的开源、自托管替代方案。

核心能力

DearAgent 提供给 AI 代理一套完整的邮箱操作接口,覆盖收信、读取验证码、在邮件线程内回复、发送新邮件等常见场景。当新邮件到达时,系统会通过 webhook 通知调用方,方便代理在自动化流程中实时响应。

接口形态上同时支持 REST 与 MCP:REST 路径用于传统集成,MCP 端点位于 /mcp,可直接被 Claude Code、Cursor 等 MCP 客户端作为工具调用,其中 wait_for_message 能阻塞等待新邮件到达,对于需要验证码的注册流程尤为实用。

技术架构

整套系统构建在 Cloudflare 的多个原生组件之上:

  • 入站邮件:*@mail.example.com 通过 Email Routing 投递到 Worker 的 email() 处理函数
  • 数据存储:邮件元信息写入 D1 数据库,附件存入 R2 对象存储
  • 出站邮件:Worker 通过原生 Email Sending 绑定发送,可正确处理 reply、reply-all、forward 等线程头
  • 通知机制:提供 message.receivedmessage.sent 两类 webhook,使用 HMAC 签名并支持重试,每条投递都有独立日志

线程通过 In-Reply-ToReferences 头归并,而非依赖主题,避免自动化邮件被错误合并。系统还内置基于 SQLite FTS5 的全文检索,可对主题、正文、发件人进行搜索。

与商业方案的差异

DearAgent 在定位上强调「数据与成本可控」:邮件存储在用户自己的 Cloudflare 账户中,接收邮件可在免费计划下运行,仅发送需要 Workers Paid 套餐。项目仓库开源、测试可在真实 Workers 运行时执行,便于审计与改造。

相比之下,托管型邮箱 API 通常按收件箱数量或邮件条数计费,且邮件数据存储在服务商云端,多租户模式下还需为不同代理分配权限。DearAgent 默认是单租户,由用户自行在前面叠加鉴权层来实现按代理隔离。

部署与限制

部署流程通过 npm run setup 交互式完成,依次配置 D1、R2、密钥、Email Routing 与 Email Sending,并自动建立 catch-all 路由规则。手动部署则需要依次执行 wrangler d1 createwrangler r2 bucket create、迁移应用、设置 API 密钥并启用收发件功能。

需要注意的是,Email Routing 必须配置在 apex 域名上并独占 MX 记录,因此已经用于 Google Workspace 或 Fastmail 等服务的域名无法直接接入,需要专门为其准备一个不接收现有邮件的新域名。Email Sending 则无此限制,可在任意已验证域名上使用。

项目仍处于早期阶段,作者明确标注为实验性:端到端流程可运行,但尚未经过深度审计,API 可能变动,敏感场景与不可信代理接入前需自行审计代码。Demo 实例生成的邮箱仅存活 15 分钟且不保留邮件内容,方便快速验证。

信源