出海技术栈集成教程(四):Resend邮件服务

我开发了 next.js saas 模板 Nexty.dev,很多用户告诉我文档太详细了,于是我决定把出海技术栈、海外第三方服务集成的文档发出来,希望帮到更多出海的朋友。👉 原文链接

本系列分享的内容包含:

  • 域名购买、解析与配置
  • Supabase 集成教程:登录与数据库
  • Stripe 集成教程:支付配置与开发
  • Resend 集成教程:邮件服务
  • 域名邮箱配置教程:域名邮箱
  • Upstash 集成教程:Redis 与限流器
  • Cloudflare R2集成教程:免费图片存储
  • Cloudflare Turnstile集成教程:免费人机检测

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

Resend 除了可以通过 API 发送邮件,还可以使用 Resend 后台的 Broadcast 功能发送营销邮件。

接下来,我介绍一下 Resend 在 SaaS 产品中的集成流程。

注册与基础配置

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

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

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

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

  1. 添加 DNS 记录

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

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

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

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

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

提示:

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

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

如果没看到 Audience ID,那先点击上面的 API,再手动复制 audienceId

验证

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

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

总结

出海技术栈集成系列文章会同步发布到我的掘金专栏,欢迎订阅关注。

同时也欢迎出海的朋友了解 Top3 的出海 Next.js SaaS 模板 Nexty.dev

相关推荐
slim~3 小时前
javaweb基础第一天总结(HTML-CSS)
前端·css·html
一支鱼3 小时前
leetcode常用解题方案总结
前端·算法·leetcode
惜.己3 小时前
针对nvm不能导致npm和node生效的解决办法
前端·npm·node.js
F2E_Zhangmo3 小时前
基于cornerstone3D的dicom影像浏览器 第二章 加载本地文件夹中的dicom文件并归档
前端·javascript·css
用户21411832636024 小时前
Nano Banana免费方案来了!Docker 一键部署 + 魔搭即开即用,小白也能玩转 AI 图像编辑
前端
豌豆花下猫4 小时前
Python 潮流周刊#118:Python 异步为何不够流行?(摘要)
后端·python·ai
Zacks_xdc4 小时前
【前端】使用Vercel部署前端项目,api转发到后端服务器
运维·服务器·前端·安全·react.js
给月亮点灯|4 小时前
Vue基础知识-脚手架开发-使用Axios发送异步请求+代理服务器解决前后端分离项目的跨域问题
前端·javascript·vue.js
秋难降5 小时前
SQL 索引突然 “罢工”?快来看看为什么
数据库·后端·sql
张迅之5 小时前
【React】Ant Design 5.x 实现tabs圆角及反圆角效果
前端·react.js·ant-design