AI Agent越来越强大,但让它们直接发邮件总让人不放心——万一发错了怎么办?E2a 是一个专为AI Agent设计的开源邮件网关,核心理念是:让Agent能安全地收发邮件,同时保留人类审核的最终控制权。
E2a解决什么问题?
想象你有一个AI客服Agent,需要自动回复用户邮件。直接让它连接SMTP发邮件有以下问题:
- 没有身份验证:无法证明邮件确实来自你的Agent
- 没有人工审核:Agent可能发出不当内容
- 没有对话追踪:Agent和人类的邮件混在一起
- 凭证管理复杂:每个Agent都需要独立的SMTP配置
E2a通过一个统一的邮件网关解决了这些问题。
核心特性
认证传输
入站邮件经过SPF/DKIM验证。每封投递给Agent的邮件都附带8个HMAC签名的 X-E2A-Auth-* 头,包括:验证过的发件人、实体类型(人类/Agent)、域名检查结果、委托绑定、正文哈希等。SDK默认会验证这些签名,防止被伪造数据欺骗。
双模式投递
- HTTPS Webhook:适合云端Agent,需要公网可访问的URL
- WebSocket:适合本地Agent,不需要公网URL
人工审核(HITL)
E2a最实用的功能——可以设置审核门控,Agent发出的邮件先暂存,等人类审核通过后才真正发送。审核方式包括:
- Dashboard Web界面审核
- 邮件中的Magic Link一键审核
- CLI命令行审核
对话线程
send和reply都支持 conversation_id 参数,Agent可以追踪完整的邮件对话上下文。
部署方式
方式一:托管服务
直接在 e2a.dev 注册,使用共享域名 agents.e2a.dev,无需配置DNS。
方式二:自托管
git clone https://github.com/Mnexa-AI/e2a.git
cd e2a
docker compose up -d
启动后暴露三个端口:
:8080HTTP API:2525SMTP Relay:3000Dashboard(Caddy + Next.js)
初始化管理员:
docker compose exec e2a e2a -config /etc/e2a/config.yaml -bootstrap-email you@example.com
注册Agent:
POST /api/v1/agents
{
"slug": "my-support-agent",
"agent_mode": "autonomous"
}
生产环境需要将域名的MX记录指向你的relay主机。
SDK支持
E2a提供TypeScript和Python两种SDK,以及CLI工具:
# Python SDK
pip install e2a
# TypeScript SDK
npm install @e2a/sdk
# CLI
brew install e2a # 或从GitHub下载
技术栈
- 语言:Go
- 数据库:PostgreSQL(自动迁移)
- 部署:Docker Compose
- 前端Dashboard:Next.js + Caddy
- 许可证:Apache 2.0
适合谁?
- 正在构建AI客服、AI助手、AI工作流的开发者
- 需要AI自动处理邮件但要求人工审核的团队
- 多Agent系统需要统一邮件入口的场景
- 对邮件安全性有要求的企业用户
简评
E2a的设计思路很清晰:不是让AI Agent直接裸连SMTP,而是在中间加一层可控的网关。HITL审核功能是亮点——在AI自主性越来越强的今天,保留人类对关键操作(如发邮件)的审核权非常重要。项目还比较新(2026年4月创建),但架构设计成熟,值得有邮件自动化需求的开发者关注。
来源:
E2a GitHub仓库
E2a 官网












GitHub – TauricResearch/TradingAgents


GitHub – docusealco/docuseal

暂无评论内容