用途:帮助搭建和调试 Mailgun Webhook 处理器,包括签名校验、事件分发与本地联调。
主要能力:Mailgun 的签名放在请求体中(signature 对象含 timestamp、token、signature),而非请求头。校验方式为计算 HMAC-SHA256(signing_key, timestamp + token),用时间安全比较对比十六进制结果。可处理 delivered、failed、opened、clicked、unsubscribed、complained、accepted、rejected、stored、list_member_uploaded 等事件;failed 事件的 severity 字段区分 permanent(硬退信)与 temporary(软退信)。支持账户级与域名级 Webhook(同一签名方案与签名密钥),子账户载荷可能含 parent-signature,需用父账户密钥校验。
使用方式:需设置环境变量 MAILGUN_WEBHOOK_SIGNING_KEY(来自 Mailgun 控制台 Sending → API Keys → HTTP webhook signing key)。技能附 Node.js 与 FastAPI 校验函数、Express 处理器示例,并提供 examples/express、examples/nextjs、examples/fastapi 完整示例及 tests。本地开发可用 npx hookdeck-cli listen 3000 mailgun --path /webhooks/mailgun 启动隧道。建议配合 webhook-handler-patterns 技能处理幂等、错误与重试。
限制:token 为一次性随机串,应缓存并拒绝重复以防重放;可宽松拒绝过旧时间戳,因 Mailgun 重试可能延迟。其他收费、价格与平台信息暂未提供。