地狱,直接用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":"
恭喜!Resend配置成功🎉
"}'
✅ 成功标志:如果返回一个包含 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: '
你好!
感谢注册。
',
});
💡 进阶技巧
✦ 使用 tags 参数添加自定义标签,方便后续在Dashboard筛选和追踪
✦ 同时设置 html 和 text,确保纯文本邮件客户端也能正常显示
✦ 使用测试邮箱 delivered@resend.dev 和 bounced@resend.dev 来测试不同场景
✦ 支持定时发送(最多提前72小时),使用 scheduled_at 参数
⚛️ 功能二:React Email模板
使用场景:需要精美设计、复杂布局的邮件,如营销邮件、周报、产品更新等。
❓ 为什么选择React Email?
传统邮件模板要用大量
嵌套来实现布局(因为邮件客户端不支持现代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: '
感谢注册
',
});
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封免费
2YC创业公司福利:YC当期batch可获得$25,000信用额度
3控制发送量:设置发送提醒(80%、100%配额时告警)
4不要开启不必要的追踪:打开/点击追踪会增加请求量
5批量发送:使用batch API减少请求次数
🎯 不同阶段建议
个人项目/MVP · Free · $0
早期创业(用户<1000) · Pro · $20
成长期(用户1000-10000) · Scale · $90
规模化(用户>10000) · Enterprise · 协商
✦ ✦ ✦
六 优缺点分析:真实用户怎么说
✅ 优点
-
开发体验顶级(DX)
这是用户提到最多的优点。API设计简洁,文档清晰,SDK类型完善。有用户评价:"用过Mailgun、SendGrid、Mandrill,没有一个能提供Resend这样的开发体验。"
-
React Email改变游戏规则
用React组件写邮件模板,告别
嵌套地狱。支持Tailwind CSS、热更新预览、TypeScript类型提示。
-
上手速度快
从注册到发出第一封邮件可以在5分钟内完成。无需像AWS SES那样申请生产权限等待审批。
-
Dashboard简洁直观
一眼就能看到发送状态、打开率、退信率,所有日志都有详细的请求/响应记录。
-
多区域发送
支持从北美、南美、欧洲、亚太区域发送,降低延迟。
❌ 缺点
-
数据保留时间短
Free版只保留1天日志,Pro版3天,要7天以上需要Scale($90/月)。这是很多用户抱怨的点。
-
偶发稳定性问题
2025年11月有过几次服务中断,包括域名验证故障、邮件发送延迟等。作为较新的服务,稳定性仍在完善中。
-
技术支持响应参差不齐
有用户反馈账号被暂停后超过24小时没有得到支持回复。但也有用户表示支持响应很快,体验因人而异。
-
成立时间短,经验积累有限
2023年成立,相比SendGrid、Postmark等老牌服务,缺乏长期运营的track record。
-
营销自动化功能弱
核心是事务性邮件,如果需要复杂的drip campaign、自动化序列,需要配合其他工具。
-
无中文支持
界面和文档全英文,对英文不太好的开发者有一定门槛。
✦ ✦ ✦
七 竞品对比: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几乎是目前最好的选择。
📚 参考来源:
-
Resend官方文档与定价页
-
React Email官方文档
-
Y Combinator创始人Paul Graham推荐
-
独立开发者社区使用反馈
参考原文信息列表:
-
https://resend.com
-
https://resend.com/pricing
-
https://resend.com/docs
-
https://react.email
-
https://react.email/docs
-
https://dns.email
-
https://resend-status.com
-
https://github.com/resend
-
https://github.com/resend/react-email
-
https://sendgrid.com
-
https://postmarkapp.com
-
https://loops.so
-
https://convertkit.com
-
https://beehiiv.com
感谢您的支持
如果您觉得这篇文章有用,请作者喝杯咖啡吧~
当前有 0 人正在浏览本页
👋
刚刚 访客 加入了浏览
👁️
本页已被浏览 0 次
×
评论 (0)
还没有评论,快来抢沙发吧!