关于 resend
resend 是面向开发者的技能,用于通过 Resend API 实现邮件工作流,涵盖发送、定时投递、域名管理、联系人、群发和 Webhook 事件处理。
主要功能
- 01事务邮件与批量发送
- 02定时及幂等投递
- 03域名设置与验证
- 04联系人和群发管理
- 05Webhook 事件验证
适用场景
- 01发送密码重置邮件或收据
- 02安排邮件投递时间
- 03通过 Webhook 跟踪投递事件
- 04管理发件域名和联系人
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ oakoss/ agent-skills --skill resend安装后在 Claude Code 中输入/resend确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/contacts-and-broadcasts.mddomain-management.mdsending-emails.mdwebhooks.md详细介绍
Resend
概述
Resend 是一款面向开发者的现代电子邮件 API,支持以编程方式发送邮件、管理域名,并通过 Webhook 跟踪事件,还支持 React Email 组件。
适用场景: 事务性邮件(欢迎邮件、密码重置、收据)、批量邮件投递、定时发送、基于 Webhook 的投递跟踪、域名验证、React Email 集成。
不适用场景: 大规模营销自动化(请使用专用 ESP)、短信或推送通知、电子邮件托管或收件箱管理。
快速参考
| 模式 | API | 要点 |
|---|---|---|
| 发送邮件 | resend.emails.send({ from, to, subject }) | 返回 { data, error },支持 html/text/react 内容 |
| 使用 React 发送 | resend.emails.send({ react: <Email /> }) | 仅限 Node.js SDK,在服务端渲染 React Email 组件 |
| 批量发送 | resend.batch.send([...emails]) | 在一个请求中发送多封邮件,不支持附件或定时发送 |
| 定时发送邮件 | emails.send({ scheduled_at }) | 支持 ISO 8601 或自然语言,可在发送时段开始前取消 |
| 附件 | emails.send({ attachments: [...] }) | 编码后总大小上限为 40MB,支持内容或路径 |
| 幂等发送 | emails.send(params, { idempotencyKey }) | 重试时防止重复发送 |
| 获取邮件 | resend.emails.get(emailId) | 查看投递状态和元数据 |
| 添加域名 | resend.domains.create({ name }) | 返回 SPF、DKIM、MX 的 DNS 记录 |
| 验证域名 | resend.domains.verify(domainId) | 触发 DNS 记录检查 |
| 列出域名 | resend.domains.list() | 返回所有域名及其状态 |
| 创建 Webhook | 控制面板或 API | 订阅邮件生命周期事件 |
| 验证 Webhook | resend.webhooks.verify({ payload, ... }) | 验证 Svix 签名标头 |
| 标签 | emails.send({ tags: [...] }) | 用于分类的键值对,仅限 ASCII,最多 256 个字符 |
| 自定义标头 | emails.send({ headers: {...} }) | 添加自定义邮件标头 |
| 创建联系人 | resend.contacts.create({ email, ... }) | 全局联系人,支持自定义属性 |
| 列出联系人 | resend.contacts.list() | 返回所有联系人 |
| 创建广播邮件 | resend.broadcasts.create({ from, ... }) | 向一个细分群体群发邮件,支持模板变量 |
| 发送广播邮件 | resend.broadcasts.send(id, { segmentId }) | 向一个联系人细分群体投递广播邮件 |
常见错误
| 错误 | 正确做法 |
|---|---|
| 使用根域名发送邮件 | 使用 send.yourdomain.com 这样的子域名来隔离发件信誉 |
未检查响应中的 error | 始终解构 { data, error } 并处理错误 |
| 在批量请求中发送附件 | 批量发送不支持附件和定时发送 |
| 在源代码中硬编码 API 密钥 | 使用环境变量 RESEND_API_KEY |
| 跳过 Webhook 签名验证 | 处理事件前始终使用 Svix 标头进行验证 |
在 Node.js SDK 之外使用 react 属性 | react 属性仅适用于 Node.js SDK |
| SPF/DKIM 验证后未设置 DMARC | SPF 和 DKIM 验证通过后添加 DMARC 记录,以提高送达率 |
| 单次发送的收件人超过 50 个 | 每个请求的收件人超过 50 个时,使用批量发送或循环发送 |
在标签名称/值字符中使用 && | 标签名称和值必须由 ASCII 字母、数字、_ 或 - 组成 |
| 忽略退信/投诉 Webhook | 监控 email.bounced 和 email.complained,以保护发件信誉 |
委派
- 邮件模板设计:使用
ExploreAgent 发现 React Email 组件模式 - 域名 DNS 配置:使用
TaskAgent 逐步验证 DNS 设置 - Webhook 端点设置:使用
TaskAgent 实现路由处理程序
参考资料
评论
支持 Markdown