Skip to content

产品邮件投递工作流

产品邮件投递工作流,是让 Web 产品无需人工逐封发送,也能联系用户的机制。

核心机制

原文将产品邮件分为两大类:

类别触发方式示例
事务邮件用户操作或账户事件。欢迎邮件、密码重置、订单收据。
营销或生命周期邮件产品设定的日程或用户分群。每日消息、召回邮件、发布公告。

两者都使用邮件服务 API。应用把收件人、主题和内容发送给提供商,由提供商处理投递及与邮件服务器的交互。

域名验证

投入生产前,应验证发信域名。通常需要把邮件提供商给出的 DNS 记录添加到域名的 DNS 托管处。

域名验证可以提高可信度和送达率。它也把邮件投递与产品部署发布工作流连接起来,因为同一个域名现在可能同时承载网站托管、DNS 路由和产品邮件。

后端边界

邮件 API 密钥是服务器端密钥。原文明确避免为邮件密钥使用公开环境变量前缀,因为浏览器绝不能获得通过产品账户任意发信的能力。

智能体任务简报中,提示词应明确:

  • 已选择哪个提供商;
  • 本地和生产环境变量在哪里配置;
  • 哪些消息属于事务邮件,哪些属于生命周期邮件;
  • 投递失败是否应该阻断用户操作;
  • 邮件模板存放在哪里。

非阻断式失败处理

对于注册等流程,即使欢迎邮件发送失败,主要产品事件通常也应该成功。原文建议把邮件发送包裹在错误处理中,避免提供商的短暂故障破坏账户创建。

定时或生命周期邮件具有不同的失败模型:应记录日志,在合适时重试,并与无服务器定时任务连接。

失效模式

  • 使用未验证的域名发送生产邮件。
  • 将邮件 API 密钥暴露给客户端代码。
  • 让非关键邮件投递阻断关键用户流程。
  • 大批量发送生命周期邮件,却没有退订机制或频率约束。
  • 忘记定时邮件端点也需要滥用防护。

相关内容

持续记录 AI、产品、工程与个人实践之间的连接。