用途:帮助搭建 Postmark Webhook 处理器,跟踪邮件投递与互动事件,处理退信、垃圾邮件投诉和订阅变更,排查 Webhook 认证问题。
主要能力:Postmark 每次请求只发送一个事件,通过 RecordType 区分事件类型,常见包括 Bounce、SpamComplaint、Open、Click、Delivery、SubscriptionChange、Inbound、SMTP API Error。处理时可用 switch 分支分别更新联系人可投递状态、移除邮件列表、统计打开与点击、确认投递、更新订阅偏好及处理入站邮件。
认证方式:Postmark 不使用签名验证,而是把凭据放在 Webhook URL 中,例如 https://username:password@yourdomain.com/webhooks/postmark,或用查询参数 token,如 https://yourdomain.com/webhooks/postmark?token=your-secret-token。服务端可检查 token 并返回 401,同时校验事件是否包含 RecordType、MessageID 等字段,缺失时返回 400。
使用方式:在 Postmark 仪表板配置 Webhook URL;Express 示例中使用 app.post('/webhooks/postmark', express.json(), ...),处理后返回 200。环境变量可设 POSTMARK_WEBHOOK_TOKEN、WEBHOOK_USERNAME、WEBHOOK_PASSWORD。本地测试可用 npx hookdeck-cli listen 3000 postmark --path /webhooks/postmark,无需账号,提供本地隧道与查看请求的 Web UI。
安全建议:始终使用 HTTPS,生成强随机凭据,校验载荷结构,按 Postmark 公布的 IP 段做 IP 允许列表,也可用 Webhook 网关增加安全层。
限制:未提供具体收费、价格或平台支持范围;Postmark 的签名机制不存在,需自行在 URL 或代理层实现认证;示例代码覆盖 Express、Next.js、FastAPI,其他框架暂未提供。相关技能包括 sendgrid-webhooks、resend-webhooks、stripe-webhooks、webhook-handler-patterns 和 hookdeck-event-gateway。