Anil-matcha/open-agent-email

Open-source email infrastructure for AI agents: secure inboxes, REST and MCP APIs, SMTP, human approval workflows, signed webhooks, and Python and TypeScript SDKs. Self-host with Docker and PostgreSQL.

Open Agent Email – AI 智能体的电子邮件收件箱(自托管)

它是什么

  • 一个自托管服务,为每个 AI 智能体提供其专属的真实电子邮件地址和邮箱。它处理入站 SMTP、存储邮件,并允许智能体在发送风险邮件前进行阅读、回复、转发、安排发送或请求人工审批。
  • 通过 REST API、Python 和 TypeScript SDK、CLI、WebSocket 实时流、webhooks 和 MCP(Claude Code、Cursor 等使用的协议)公开功能。

为什么它对 AI 智能体很重要

  • 与人交互的智能体通常需要电子邮件(支持、注册、发票)。使用通用的发送服务会导致智能体没有身份、没有会话历史记录,也没有安全护栏。
  • Open Agent Email 提供每个智能体的收件箱、对话线程、SPF/DKIM/DMARC 验证、提示注入筛选以及可选的人工审批门控。

工作原理

People / other agents  →  MX record → Open Agent Email (SMTP listener) → store in DB
                                                   ↑
                                                   │
                                   Agent ↔ REST / SDK / MCP / Webhooks / CLI
  • 仅接受现有收件箱的入站邮件,进行验证(SPF/DKIM/DMARC)、扫描 AI 特有的攻击,并保存。
  • 出站邮件通过您配置的任何 SMTP 中继(SES、SendGrid、Resend 等)发送。如果启用了审批门控,邮件将被暂存,直到人工点击批准/拒绝链接。

主要功能

类别 亮点
收件箱与线程 无限收件箱、正确的回复线程、标签、搜索、垃圾箱/恢复、定时发送(最长 90 天)、附件 ≤10 MB、签名下载链接
安全性 提示注入检测、可选病毒扫描、带过期时间的审批门控、每个收件箱的 API 密钥(只读、发送、审核)、收件人拦截、一键退订
身份验证与验证 存储每封邮件的 SPF/DKIM/DMARC 检查结果;拒绝严格 DMARC 失败的邮件
发送 任意 SMTP 中继、带退避的重试、幂等键、完整的发送历史记录
投递跟踪 内置 SES 事件处理(投递、退回、投诉)和自动抑制
域名支持 添加自定义域名、获取 DNS 记录、按域名对出站邮件进行 DKIM 签名
Webhooks 与事件 签名 webhooks、重试逻辑、重放、可搜索的事件日志、每个收件箱或全局端点
联系人与模板 通讯录、CSV 导入、同意记录、跟进提醒、带预览的可重用模板
开发者工具 OpenAPI 规范、Python 和 TypeScript SDK(无运行时依赖)、oae CLI、96 个 MCP 工具、cursor 风格分页、结构化错误代码
运维 SQLite(默认)或 PostgreSQL、Alembic 迁移、指标端点、备份/恢复脚本、Docker Compose、nginx 部署示例

典型用例

  • 聊天机器人的支持收件箱:support@brand.com 可以阅读工单、起草回复,并将任何有风险的回复暂存以供人工审核。
  • 注册验证:智能体创建用户,然后从自己的邮箱中读取确认码。
  • 带安全网的外联活动:起草活动、安排发送,并在邮件发出前要求审批。
  • 智能体间通信:每个智能体都有一个真实地址,实现跨服务的基于电子邮件的工作流。
  • 事件驱动的工作流:入站邮件触发 n8n/Zapier/webhooks,从而启动进一步的自动化。
  • 个人助理:本地智能体通过实时流监控收件箱、起草回复,您通过简单的链接进行批准。

入门指南

  1. 克隆仓库并运行开发脚本(需要 Python 3.11)。服务器将在 http://127.0.0.1:8000 启动并打印管理密钥。
  2. (可选)运行 Next.js 仪表板:cd client && npm install && npm run dev (http://localhost:3000)。
  3. 通过 API/CLI 创建收件箱,配置 SMTP 中继,并将域名的 MX 记录指向服务器(端口 25)。
  4. 使用 Python 或 TypeScript SDK、MCP 命令或简单的 curl 调用来列出、阅读和发送邮件。

技术栈

  • 服务器:Python 3.11, FastAPI, async SQLAlchemy, Alembic, aiosmtpd 用于 SMTP 监听。
  • 数据库:SQLite(默认)或 PostgreSQL。
  • 仪表板:Next.js 16, React, Tailwind CSS。
  • SDK:Python 和 TypeScript,零运行时依赖。
  • 打包:Docker Compose + 生产部署示例(nginx, 备份脚本)。

状态与社区

  • 活跃开发中,目前为单用户(一个管理密钥,暂无多租户账户)。
  • 已在本地和带有 Amazon SES 集成的 PostgreSQL 16 设置上进行测试。
  • 加入 Discord 或在 GitHub 上提交 issue/PR。

许可证:Apache 2.0。

相关

  • 项目
  • 项目
  • 项目
  • 项目