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,从而启动进一步的自动化。
- 个人助理:本地智能体通过实时流监控收件箱、起草回复,您通过简单的链接进行批准。
入门指南
- 克隆仓库并运行开发脚本(需要 Python 3.11)。服务器将在
http://127.0.0.1:8000启动并打印管理密钥。 - (可选)运行 Next.js 仪表板:
cd client && npm install && npm run dev(http://localhost:3000)。 - 通过 API/CLI 创建收件箱,配置 SMTP 中继,并将域名的 MX 记录指向服务器(端口 25)。
- 使用 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。
相关
- 项目
- 项目
- 项目
- 项目