Menu

Resend 集成

Resend 是一个专为开发者设计的电子邮件 API,它简化了发送、跟踪和管理事务性电子邮件的过程。它可以帮助开发者专注于构建应用程序,而无需深入研究电子邮件基础设施的复杂性。

在 Next.dev 模板中,我们使用 Resend 实现这两种功能:

  • 邮件订阅与通知
  • 付款失败进行邮件通知

你可以轻松根据这两个功能的代码,在其他逻辑中使用 Resend API 发送邮件。

Resend 除了可以通过 API 发送邮件,还可以使用 Resend 后台的 Broadcast 功能发送营销邮件。如果你在早期登记过 Nexty.dev 的 waitlist,那么你肯定在4月29日收到了从 Broadcast 发出的早鸟优惠邮件。

接下来,我介绍一下 Resend 在 Nexty.dev 模板中的集成流程。

注册与基础配置

  1. 访问 Resend,使用邮箱注册账号

  2. 进入 API Keys 页面,创建 API Key

Resend API Keys

Resend API Keys

  1. 将 API Key 添加到模板的环境变量 RESEND_API_KEY

  2. 接着打开 Domains 页面,添加你的域名

Resend Domains

Resend Domains

  1. 添加 DNS 记录

Resend DNS

其中,_dmarc 记录配置最佳实践流程是这样:

  • 初始阶段 (初期监控): 从 v=DMARC1; p=none; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100 开始,并监控报告。这允许你查看你的邮件发送情况,并识别可能导致邮件失败的问题,而不会影响邮件的送达。分析聚合报告,了解哪些邮件未通过 SPF 和 DKIM 验证。
  • 中间阶段 (中期隔离): 在你对邮件发送情况有信心后,将策略更改为 v=DMARC1; p=quarantine; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100。这会将未通过验证的邮件隔离到垃圾邮件文件夹中。
  • 最终阶段 (最终拒绝): 在你完全确定你的邮件发送配置正确后,将策略更改为 v=DMARC1; p=reject; rua=mailto:[email protected]; ruf=mailto:[email protected]; pct=100。这将拒绝未通过验证的邮件。这是最安全的设置,可以最大限度地保护你的域名。

ruaruf 需要替换成你的邮箱,这个邮箱会收到邮件发送的报告。

配置 _dmarc 的主要目的是预防外部攻击,防止攻击者冒充你的域名发送钓鱼邮件、恶意软件或垃圾邮件。

DNS 记录全部通过验证后,Status 会显示 Verified

Resend DNS

提示:

如果 Status 长时间未更新,可以点击 Restart 试试。

  1. 现在再来到 Audiences 页面,复制 Audience ID 到环境变量 RESEND_AUDIENCE_ID

Resend Audience ID

验证

现在你可以尝试在页面 Footer 提交邮件订阅,并进行以下验证:

  • 查看 Resend 后台的 Emails 页面,检查邮件发送情况
  • 查看 Resend 后台的 Audiences 页面,检查 Audience 添加情况
  • 查看 Resend 后台的 Logs 页面,检查邮件发送日志
  • 查看提交的邮箱,检查是否收到由 API 发出的通知邮件

在 Nexty.dev 模板中,我还内置了 Upstash Redis 实现的限流器,并且在邮件订阅功能里提供了使用示例。下一章我们就来完成 Upstash 的配置,让限流器生效。