通过 MailChannels Email API 发送邮件并接收签名投递事件 webhook,支持异步发送与 Ed25519 签名验证,适合需要高可靠邮件投递与状态追踪的自动化场景。
说明:
## 核心用法
MailChannels Email API 技能提供完整的邮件发送与投递事件追踪能力,专为 Clawdbot/Moltbot 生态设计。核心功能分为两大模块:
**发送邮件**:支持同步 (`/send`) 和异步 (`/send-async`) 两种投递模式。最小有效载荷需包含 `personalizations`、`from`、`subject` 和 `content` 四个字段。建议持久化 MailChannels 返回的 `request_id` 用于后续事件关联。
**投递事件 webhook**:MailChannels 以 JSON 数组形式 POST 投递事件,包含 `processed`、`delivered`、`soft-bounced`、`hard-bounced`、`dropped` 等状态。需通过环境变量配置 `MAILCHANNELS_API_KEY` 和 `MAILCHANNELS_ACCOUNT_ID`,并完成 DNS TXT 记录验证(`_mailchannels.`)。
**签名验证机制**:采用 RFC 9421 标准,通过 `Content-Digest`、`Signature-Input` 和 `Signature` 头部完成 Ed25519 签名验证。流程包括解析签名元数据、校验时间戳 freshness、动态获取公钥、重建签名基础字符串,最终验证签名有效性。同时需校验 `customer_handle` 与本地账户 ID 匹配,防止跨租户事件注入。
**Moltbot 集成**:通过 `~/.clawdbot/moltbot.json` 启用 hooks,将 `/hooks/` 映射至 agent action,支持可选的数据转换层。
## 显著优点
1. **双模式投递**:同步接口适合即时反馈场景,异步队列保障高吞吐低延迟
2. **强安全设计**:Ed25519 签名 + RFC 9421 标准,拒绝重放攻击与篡改
3. **完整事件生命周期**:从 `processed` 到最终状态的全程可观测性
4. **轻量集成**:仅依赖 `curl`,无重量级 SDK 依赖
5. **域锁定机制**:DNS TXT 验证防止域名伪造
## 潜在缺点与局限性
– **自研签名验证风险**:文档明确警告”avoid hand-rolling”,但实际仍需用户正确实现 Ed25519 验签,密码学实现门槛较高
– **时间同步敏感**:`created` 字段的 freshness 校验要求系统时钟精确
– **幂等性负担**:需自行处理 webhook 重复投递的 dedupe 逻辑
– **异步状态最终一致**:`/send-async` 不立即返回投递结果,需依赖 webhook 回调
– **账户 ID 耦合**:`customer_handle` 校验要求事件处理与账户配置强绑定
## 适合人群
– 需要替代 SendGrid/Amazon SES 的 MailChannels 现有用户
– 构建邮件自动化工作流的 Moltbot/Clawdbot 开发者
– 对投递事件追踪有强需求的事务性邮件场景(密码重置、订单通知等)
– 具备密码学基础、能正确处理 Ed25519 验签的开发团队
## 常规风险
| 风险类型 | 说明 | 缓解建议 |
|———|——|———|
| 密钥泄露 | `MAILCHANNELS_API_KEY` 泄露导致邮件滥发 | 使用专用 API key,限制 IP 白名单,轮换周期 <90 天 |
| 签名验证绕过 | 自定义验签逻辑缺陷导致伪造事件 | 严格使用标准 Ed25519 库,禁止自研算法 |
| 重放攻击 | 截获合法 webhook 重复提交 | 校验 `created` 时间戳窗口(建议 ±60s),配合 nonce 存储 |
| DNS 劫持 | `_mailchannels` TXT 记录被篡改 | 监控 DNS 变更,启用 DNSSEC |
| 日志敏感信息 | `email`、`smtp_id` 等 PII 留存 | 日志脱敏,遵循 GDPR/CCPA 保留策略 |









