# Resend邮件服务完全指南开发者的现代邮件API · 从零到一保姆级教程

- 状态 / Status: 已发布 / Published
- 时间 / Time: 2026-02-21T00:04:14+08:00
- 作者 / Author: -
- 主题 / Topics: 工具 / Tools, 变现 / Monetization
- 原文 / Source: https://mp.weixin.qq.com/s/16FN42kkVzvEYUXabqd59Q

---

📧 Resend邮件服务完全指南

开发者的现代邮件API · 从零到一保姆级教程

注册配置 · 费用预算 · 竞品对比 · 实战代码

Resend被Y Combinator创始人Paul Graham称为"邮件界的Stripe" ，这家成立于2023年的公司在15个月内就吸引了超过 40万开发者用户 。它的核心卖点很简单：让发送邮件这件事变得像调用一个API那样简单，同时支持用 React组件 来写邮件模板。

✦ ✦ ✦

⚡ TL;DR · 30秒速览

这是什么： 专为开发者设计的现代邮件发送API服务，React Email的官方搭档

适合谁用： 全栈开发者、独立开发者、SaaS创业团队、Next.js/React技术栈项目

核心价值： 极简API设计 + React邮件模板 + 快速上手（5分钟发出第一封邮件）

免费额度： 每月3,000封邮件 （每日上限100封）

付费起步： Pro版 $20/月 ，包含50,000封邮件

上手难度： ⭐⭐☆☆☆（非常简单，前端开发者友好）

💡 我的评价： 如果你用React/Next.js技术栈，这是目前开发体验最好的邮件服务，没有之一

✦ ✦ ✦

📋 Cheatsheet · 速查表

官网 · https://resend.com

定价页 · https://resend.com/pricing

文档 · https://resend.com/docs

React Email · https://react.email

支付方式 · 信用卡

是否需翻墙 · 通常不需要（中国大陆可直接访问）

中文支持 · ❌ 无中文界面，文档全英文

替代方案 · SendGrid、Postmark、Loops、AWS SES

推荐指数 · ⭐⭐⭐⭐⭐（React/Next.js项目首选）

✦ ✦ ✦

一 这是什么：重新定义开发者邮件体验

Resend是一个 事务性邮件API服务 ，由Zeno Rocha和Bu Kinoshita于 2023年 创立，公司总部位于旧金山，是 Y Combinator 2023冬季批次 成员。

"The email API for developers"

「专为开发者打造的邮件API」—— 这是Resend的官方Slogan

🎯 它解决的核心问题

传统邮件服务（如SendGrid、Mailgun）的开发体验太糟糕了—— API设计臃肿、文档混乱、Dashboard像上个世纪的产物 。Resend的定位就是成为"邮件界的Stripe"，用现代化的API设计和开发者体验来重新定义邮件发送。

🌟 最大差异化卖点

与 React Email 的深度整合。React Email是Resend团队开源的邮件模板库，让你可以用 React组件 而非痛苦的HTML表格来编写邮件模板。这对React/Next.js开发者来说是巨大的生产力提升。

📬 典型使用场景

1 用户注册欢迎邮件

2 密码重置邮件

3 订单确认邮件

4 通知类邮件等所有「事务性邮件」

💡 小提示： Resend也支持营销邮件（Broadcasts功能），但核心优势还是在事务性邮件API。

✦ ✦ ✦

二 为什么要用它：告别邮件开发噩梦

😰 开发者的痛点

如果你曾经用过SendGrid或AWS SES，你一定体验过这些痛苦：

❌ 文档像迷宫 · 找一个简单的发送邮件示例要翻好几页

❌ 邮件模板是噩梦 · 写HTML邮件要<table>布局，像回到了2005年

❌ 调试困难 · 邮件发出去了吗？被退信了吗？找日志要点很多地方

❌ 入门门槛高 · AWS SES需要申请生产权限，SendGrid要审核

✅ Resend的解决方案

⚡ 5分钟上手 注册→验证域名→拿到API Key→发送第一封邮件，整个流程可以在5分钟内完成。无需像AWS SES那样申请生产权限等待审批。

⚛️ React组件写模板 告别<table>地狱，直接用React组件 + Tailwind CSS写邮件模板，支持热更新预览。

📊 清爽的Dashboard 一眼就能看到发送状态、打开率、退信率，所有日志都有详细的请求/响应记录。

🔒 类型安全 官方SDK完全支持TypeScript，API参数有完整的类型提示。

🎯 什么时候该用Resend？

✅ 适合

✦ 个人项目、独立开发

✦ SaaS产品的事务性邮件

✦ React/Next.js技术栈

✦ 注重开发体验

❌ 不太适合

✦ 需要复杂营销自动化（推荐用Loops）

✦ 超大规模发送（>100万/月，考虑AWS SES）

✦ 需要中文界面和本地化支持

✦ 预算极其有限（免费额度只有3000封/月）

✦ ✦ ✦

三 保姆级注册教程（How-账号篇）

Step 1：注册账号

1 打开 https://resend.com/signup

2 输入你的邮箱地址

3 设置密码（建议使用强密码）

4 点击注册，然后去邮箱收验证邮件

5 点击验证链接，完成邮箱验证

6 成功进入Dashboard

⚠️ 坑点提醒： 如果长时间收不到验证邮件，检查垃圾邮件文件夹，或尝试用Gmail邮箱注册。

Step 2：添加发送域名

❓ 为什么需要域名？

Resend的免费测试只允许给自己的注册邮箱发送。要给其他人发邮件， 必须验证你拥有一个域名 。

1 在左侧边栏点击 Domains

2 点击 + Add Domain 按钮

3 输入你的域名（ 强烈建议使用子域名 ，如 mail.yourdomain.com）

4 选择发送区域（默认North America，如果用户主要在亚洲可选Asia Pacific）

5 点击 Add Domain

💡 为什么用子域名？ 如果主域名以后出现发信问题（如被标记垃圾邮件），不会影响你主域名的邮件信誉。这是业界最佳实践。

Step 3：配置DNS记录（关键步骤）

添加域名后，Resend会显示需要配置的DNS记录。你需要去你的域名DNS管理处（如Cloudflare、阿里云DNS、腾讯云DNSPod）添加这些记录。

📋 需要添加的记录类型

MX记录 · 接收退信反馈，用于处理bounce和complaint

TXT记录（SPF） · 发送权限验证，声明哪些IP可以代表你的域名发邮件

TXT/CNAME记录（DKIM） · 邮件签名，防止邮件被篡改，提高送达率

TXT记录（DMARC） · 可选但推荐，进一步提升邮件信誉

🚨 重要坑点

DNS生效时间： 通常几分钟到几小时，最长可能需要24-48小时

72小时验证窗口： 如果72小时内DNS记录没被检测到，验证会失败

Cloudflare用户福利： Resend支持一键配置Cloudflare，点击"Sign in to Cloudflare"可自动添加记录

记录值复制要完整： 特别是DKIM的值很长，确保完整复制

部分DNS服务商要加点： 某些服务商（如Gandi）要求记录名末尾加.

✅ 验证失败怎么办？ 使用Resend官方工具 https://dns.email 检查你的DNS记录是否正确配置。

Step 4：生成API Key

1 在左侧边栏点击 API Keys

2 点击 Create API Key

3 输入名称（如"Production"或"my-nextjs-app"）

4 选择权限： Full access （完全权限）或 Sending access （仅发送权限， 推荐用于应用代码 ）

5 可选：限制Key只能用于特定域名

6 点击 Add

🚨 超级重要： API Key只会显示一次！立即复制保存到安全的地方（如密码管理器或.env文件）。

API Key格式： re_ 开头，例如 re_123abc456def...

Step 5：发送测试邮件

域名验证成功后，可以发送测试邮件验证配置：

curl -X POST 'https://api.resend.com/emails' \ -H 'Authorization: Bearer re_YOUR_API_KEY' \ -H 'Content-Type: application/json' \ -d '{"from":"hello@mail.yourdomain.com","to":["your@email.com"],"subject":"测试邮件","html":"<p>恭喜！Resend配置成功🎉</p>"}'

✅ 成功标志： 如果返回一个包含 id 的JSON，说明配置成功！

✦ ✦ ✦

四 核心功能实操（How-使用篇）

⚡ 功能一：通过API发送邮件

使用场景： 程序触发的事务性邮件，如注册确认、密码重置、订单通知等。

📦 Node.js SDK安装

npm install resend # 或 pnpm add resend

📝 基础发送示例

import { Resend } from 'resend'; const resend = new Resend(process.env.RESEND_API_KEY); const { data, error } = await resend.emails.send({ from: 'Your App <hello@mail.yourdomain.com>', to: ['user@example.com'], subject: '欢迎加入！', html: '<h1>你好！</h1><p>感谢注册。</p>', });

💡 进阶技巧

✦ 使用 tags 参数添加自定义标签，方便后续在Dashboard筛选和追踪

✦ 同时设置 html 和 text ，确保纯文本邮件客户端也能正常显示

✦ 使用测试邮箱 delivered@resend.dev 和 bounced@resend.dev 来测试不同场景

✦ 支持 定时发送 （最多提前72小时），使用 scheduled_at 参数

⚛️ 功能二：React Email模板

使用场景： 需要精美设计、复杂布局的邮件，如营销邮件、周报、产品更新等。

❓ 为什么选择React Email？

传统邮件模板要用大量 <table> 嵌套来实现布局（因为邮件客户端不支持现代CSS），这让邮件开发变成噩梦。React Email封装了这些复杂性，让你用 正常的React组件 来写邮件。

📦 安装

npm install react-email @react-email/components -E

🔥 核心特性

✦ 支持 Tailwind CSS 直接使用类名

✦ 本地热更新预览（npm run email）

✦ 完整 TypeScript 类型支持

✦ 经过主流邮件客户端（Gmail、Outlook、Apple Mail）兼容性测试

🔔 功能三：Webhook配置

使用场景： 实时追踪邮件状态，如用户打开邮件时更新数据库，邮件退信时自动清理无效地址。

📋 支持的Webhook事件

email.sent · API请求成功，邮件开始发送

email.delivered · 邮件成功送达收件方服务器

email.opened · 收件人打开了邮件

email.clicked · 收件人点击了邮件中的链接

email.bounced · 邮件被退信（地址无效等）

email.complained · 收件人标记为垃圾邮件

🚀 功能四：Next.js完整集成

📝 Server Actions示例（Next.js 14+推荐）

'use server' import { Resend } from 'resend'; const resend = new Resend(process.env.RESEND_API_KEY); export async function sendEmail(formData: FormData) { const { error } = await resend.emails.send({ from: 'App <noreply@mail.yourdomain.com>', to: formData.get('email') as string, subject: '欢迎加入！', html: '<p>感谢注册</p>', }); return { success: !error }; }

📋 环境变量配置（.env.local）

RESEND_API_KEY=re_xxxxxxxxxxxxxxxx RESEND_WEBHOOK_SECRET=whsec_xxxxxxxx

✦ ✦ ✦

五 费用详解：如何花最少的钱办最多的事

💰 事务性邮件定价

Free $0 · 3,000封/月（每日100封） · 1个域名 · 数据保留1天

Pro $20/月 · 50,000封/月 · 10个域名 · 数据保留3天

Scale $90/月 · 100,000封/月 · 1,000个域名 · 数据保留7天 · Slack支持

Enterprise 定制 · 定制配额 · 不限域名 · 定制数据保留 · 优先支持

⚠️ Free版限制： 每日最多发送100封，适合开发测试， 不适合生产环境 。

📈 超额计费（Pay-As-You-Go）

✦ 超额费率： $0.90 / 每1000封

✦ 需手动开启： Settings → Transactional Overages

✦ 按1000封一档计费： 发1001封算2000封的钱

示例： Pro套餐（$20，50,000封）+ 超额15,000封 = $20 + $13.50 = $33.50

💡 省钱技巧

1 从Free开始： 开发阶段完全够用，每月3000封免费

2 YC创业公司福利： YC当期batch可获得 $25,000信用额度

3 控制发送量： 设置发送提醒（80%、100%配额时告警）

4 不要开启不必要的追踪： 打开/点击追踪会增加请求量

5 批量发送： 使用batch API减少请求次数

🎯 不同阶段建议

个人项目/MVP · Free · $0

早期创业（用户<1000） · Pro · $20

成长期（用户1000-10000） · Scale · $90

规模化（用户>10000） · Enterprise · 协商

✦ ✦ ✦

六 优缺点分析：真实用户怎么说

✅ 优点

1. 开发体验顶级（DX） 这是用户提到最多的优点。API设计简洁，文档清晰，SDK类型完善。有用户评价："用过Mailgun、SendGrid、Mandrill，没有一个能提供Resend这样的开发体验。"

2. React Email改变游戏规则 用React组件写邮件模板，告别<table>嵌套地狱。支持Tailwind CSS、热更新预览、TypeScript类型提示。

3. 上手速度快 从注册到发出第一封邮件可以在5分钟内完成。无需像AWS SES那样申请生产权限等待审批。

4. Dashboard简洁直观 一眼就能看到发送状态、打开率、退信率，所有日志都有详细的请求/响应记录。

5. 多区域发送 支持从北美、南美、欧洲、亚太区域发送，降低延迟。

❌ 缺点

1. 数据保留时间短 Free版只保留1天日志，Pro版3天，要7天以上需要Scale（$90/月）。这是很多用户抱怨的点。

2. 偶发稳定性问题 2025年11月有过几次服务中断，包括域名验证故障、邮件发送延迟等。作为较新的服务，稳定性仍在完善中。

3. 技术支持响应参差不齐 有用户反馈账号被暂停后超过24小时没有得到支持回复。但也有用户表示支持响应很快，体验因人而异。

4. 成立时间短，经验积累有限 2023年成立，相比SendGrid、Postmark等老牌服务，缺乏长期运营的track record。

5. 营销自动化功能弱 核心是事务性邮件，如果需要复杂的drip campaign、自动化序列，需要配合其他工具。

6. 无中文支持 界面和文档全英文，对英文不太好的开发者有一定门槛。

✦ ✦ ✦

七 竞品对比：9款邮件服务全面PK

Resend · 事务性邮件API · 免费3,000/月 · $20起 · ⭐⭐⭐⭐⭐ · React/Next.js开发者首选

SendGrid · 全能型 · 免费100/天 · $19.95起 · ⭐⭐⭐⭐ · 企业级大规模发送

Postmark · 事务性邮件 · 测试100/月 · $15起 · ⭐⭐⭐⭐⭐ · 对送达速度要求极高

Loops · SaaS产品邮件 · 免费4,000/月 · $49起 · ⭐⭐⭐⭐ · SaaS生命周期邮件

ConvertKit · 创作者营销 · 免费10,000订阅者 · $39起 · ⭐⭐⭐ · 博主、课程卖家

Beehiiv · Newsletter · 免费2,500订阅者 · $43起 · ⭐⭐⭐ · Newsletter创业者

Substack · 付费订阅 · 免费（直到变现） · 收入10% · ⭐⭐ · 独立写作者

Buttondown · 极简Newsletter · 免费100订阅者 · $9起 · ⭐⭐⭐⭐ · 极简主义开发者

📊 选择建议

选Resend： React/Next.js开发者，需要发送事务性邮件，追求极致开发体验

选SendGrid： 需要同时处理大量事务性邮件和营销邮件，或需要多渠道（SMS、WhatsApp）支持

选Postmark： 对邮件送达速度有极高要求（如密码重置邮件需要秒到），或需要更长的数据保留期

选Loops： 做SaaS产品，需要统一管理产品邮件、营销邮件、事务性邮件

✦ ✦ ✦

八 常见问题FAQ

Q1：免费版能用于生产环境吗？

技术上可以，但 不推荐 。免费版每日限制100封，数据只保留1天，无法调试历史问题。建议开发测试用免费版，上线后切换到Pro（$20/月）。

Q2：邮件进垃圾箱怎么办？

✦ 确保DKIM、SPF、DMARC全部正确配置

✦ 避免使用垃圾邮件敏感词（如"免费"、"赚钱"）

✦ 发送量大时考虑使用独立IP（Scale套餐）

✦ 确保from地址使用已验证的域名

Q3：可以发送营销邮件吗？

可以。Resend有Broadcasts功能支持营销邮件，但这不是它的核心优势。如果你主要发营销邮件，考虑 Loops 或 ConvertKit 。

Q4：支持中文邮件内容吗？

完全支持 。邮件内容可以是任何语言，只是Resend的Dashboard和文档是英文的。

Q5：忘记复制API Key怎么办？

API Key只显示一次， 无法找回 。需要删除旧Key，重新创建一个新的。

Q6：中国大陆能正常使用吗？

Resend.com通常可以直接访问，API调用api.resend.com一般也没问题。但网络情况可能有变化，建议实际测试。

Q7：和AWS SES比，为什么选Resend？

AWS SES价格更便宜（$0.10/1000封），但开发体验很差，需要申请生产权限，没有好用的Dashboard。Resend是 "用钱买时间" ——贵一点但省心很多。

✦ ✦ ✦

✓ Checklist · 行动清单

📝 注册配置阶段

☐ 访问 resend.com/signup 注册账号

☐ 完成邮箱验证

☐ 添加发送域名（建议使用子域名如 mail.yourdomain.com）

☐ 在DNS服务商添加MX、SPF、DKIM记录

☐ 使用 dns.email 验证DNS配置正确

☐ 等待域名验证通过（最长48小时）

☐ 创建API Key（选择Sending access权限）

☐ 将API Key保存到 .env 文件

☐ 将 .env 添加到 .gitignore

💻 开发集成阶段

☐ 安装SDK：npm install resend

☐ 安装React Email（可选）：npm install react-email @react-email/components

☐ 创建邮件模板组件

☐ 设置本地预览脚本

☐ 使用测试邮箱 delivered@resend.dev 测试发送

☐ 配置Webhook接收邮件事件

☐ 实现Webhook签名验证

🚀 上线前检查

☐ 确认使用生产域名（非测试域名）

☐ 确认API Key权限最小化

☐ 设置发送配额告警

☐ 测试真实邮件送达情况

☐ 检查邮件在Gmail、Outlook、QQ邮箱的显示效果

✦ ✦ ✦

📚 延伸阅读

🔗 官方资源

✦ Resend官网：https://resend.com

✦ API文档：https://resend.com/docs/api-reference

✦ React Email文档：https://react.email/docs

✦ Next.js集成指南：https://resend.com/docs/send-with-nextjs

✦ DNS检测工具：https://dns.email

✦ 服务状态页：https://resend-status.com

💡 相关教程

✦ Resend GitHub：https://github.com/resend

✦ React Email GitHub：https://github.com/resend/react-email

✦ Resend + Next.js示例项目：https://github.com/resend/resend-next-server-actions-example

🔄 竞品官网

✦ SendGrid：https://sendgrid.com

✦ Postmark：https://postmarkapp.com

✦ Loops：https://loops.so

✦ ConvertKit：https://convertkit.com

✦ Beehiiv：https://beehiiv.com

🎯 结语

Resend代表了邮件服务的新一代演进—— 专注开发者体验 ，用现代化的API设计和React Email这样的创新工具，把发邮件这件"本该简单"的事情真正变得简单。如果你是React/Next.js技术栈的开发者，需要在项目中集成邮件发送功能，Resend几乎是目前最好的选择。

📚 参考来源：

1. Resend官方文档与定价页

2. React Email官方文档

3. Y Combinator创始人Paul Graham推荐

4. 独立开发者社区使用反馈

参考原文信息列表：

1. https://resend.com

2. https://resend.com/pricing

3. https://resend.com/docs

4. https://react.email

5. https://react.email/docs

6. https://dns.email

7. https://resend-status.com

8. https://github.com/resend

9. https://github.com/resend/react-email

10. https://sendgrid.com

11. https://postmarkapp.com

12. https://loops.so

13. https://convertkit.com

14. https://beehiiv.com

✨

— END —
