邮件基础设施指南

入站邮件 Webhook:设计模式与安全

使用 Webhook 处理入站邮件,无需搭建轮询邮箱的工作流。

入站邮件 Webhook 会在邮件到达时向您的应用推送一个结构化事件。设计上的难点在于安全解析、身份验证、幂等性,以及在不丢失邮件的前提下处理重试。

实际意味着什么

  • 带签名或经过身份验证的 Webhook 推送
  • 使用消息 ID 实现幂等处理
  • 保留原始邮件以便恢复
  • 异步处理附件和下游任务

实施检查清单

  1. 在解析内容之前,先验证 Webhook 的来源。
  2. 在产生任何副作用之前,先持久化服务商的消息 ID。
  3. 将耗时较长的附件处理或 AI 处理放入队列。
  4. 尽快返回成功响应,并在暂时性失败时安全地重试。

团队常问的问题

应该在 Webhook 请求中处理附件吗?

通常不应该。先持久化邮件,再把附件处理任务放入队列,这样确认响应能保持快速,并且可以安全重试。

如何处理重复的 Webhook?

将服务商的消息 ID 视为唯一标识,并让下游操作保持幂等。