@absolutejs/dispatch-resend

中文文档
0.7.1发布于 2026/11/02Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 1986

后端后端的EmailAdapter带有证书安全安装效果,签名证据,以及参考方位查询恢复.

中文使用文档
文档目录7 节
  1. 安装
  2. 使用量
  3. API 密码
  4. tagsFromMetadata
  5. 映射错误
  6. 许可证
  7. 持久效果网络记录证据

@absolutejs/ 发送转发

后端备份 EmailAdapter 页:1 @absolutejs/发送。 。 。 .

文档 : 绝对js.com/文档/发送#适应器

安装

bun add @absolutejs/dispatch @absolutejs/dispatch-resend resend

使用量

import { Resend } from "resend";
import { createDispatcher } from "@absolutejs/dispatch";
import { createResendAdapter } from "@absolutejs/dispatch-resend";

const resend = new Resend(process.env.RESEND_KEY!);

const dispatcher = createDispatcher({
  email: createResendAdapter({
    client: resend,
    defaultFrom: "[email protected]",
  }),
});

const result = await dispatcher.email({
  to: "[email protected]",
  subject: "Welcome to Acme",
  text: "Click here to verify: ...",
  // String metadata becomes Resend tags by default:
  metadata: { campaign: "welcome-v2", priority: "high" },
});

console.log(result.id); // Resend's message id

API 密码

createResendAdapter({
  client,         // Required — your `new Resend(apiKey)`
  defaultFrom?,   // Required if your messages don't set `from`
  tagsFromMetadata?,  // Customize metadata → Resend tags mapping
})

tagsFromMetadata

默认情况下适配器地图 字符串值 输入 message.metadata 转到 Resend 标签。 非字符串值(数字, 布尔, 对象) 被过滤出 — 需要重新发送 string 页:1 两者 name 财务报告和审定财务报表 value。 。 。 .

覆盖自定义 :

createResendAdapter({
  client: resend,
  tagsFromMetadata: (metadata) => [
    // Always include the tenant
    ...(typeof metadata.tenant === "string"
      ? [{ name: "tenant", value: metadata.tenant }]
      : []),
    // Drop debug-only entries
  ],
});

映射错误

重新发送 { data, error } 响应形状变为:

  • error 集 − 适配器抛出(@absolutejs/dispatch 记录 例外规定 dispatch.email.send 间距,起伏 failed 计数器, 发送 dispatch.email.failed 审计活动).
  • data.id 现 —— DispatchResult.id = 重传消息 id.
  • data.id 缺少 + DispatchResult.id 实值 undefined, (中文(简体) ), result.provider 还是 'resend'。 。 。 .

许可证

Apache 2.0 (英语)B级基底相接于 绝对JS许可证政策——骑行 @absolutejs/dispatch (BSL 等级) (a)和 resend (麻省理工学院). 套件还出口 resendEffectAdapterDescriptor 财务报告和审定财务报表 createResendEffectAdapterDriver() 页:1 @absolutejs/execution驱动程序 只有在执行时才接受已解决的证书,要求准确无误 重新发送 API 目的地和 email.send 效果,并推进持久效果 (原始内容存档于2018-10-21). idepotency key to Resend. 东道国保留对秘密储存的所有权并提供 窄处 clientForKey 在最后供应商边界的工厂.

持久效果网络记录证据

效果驱动程序添加一个 abs_effect 包含持久效果的再发送标签 ID 并宣布其完整的 Webhook 设置: 回调模板, 标准 Webhooks 头条,支持出行事件, 确切的秘密别名, 最后的验证-事件健康信号, 和签名-事件替换旋转. 主机可以传递精确的原始请求 机身,标准Webhooks头,项目租户身份, 和该项目的准确性 RESEND_WEBHOOK_SECRET 改为 verifyResendEffectWebhook()它使用 Resend 的 SDK 在返回正常状态之前进行核查 EffectEvidenceRecord; 接收者, 发件人、对象、信头和原始有效载荷从未归还储存.

描述符使用 webhook-query: 已签名的 webhooks 仍然为主, 而 createResendEffectQueryDriver() 只有在 执行保留了原调用返回的确切的Resend电子邮件ID. 执行驱动程序摘录了未保留 供应商的回应。 查询倒数验证取回的电子邮件ID及其 abs_effect 标记,然后返回正态证据。 如果一个模糊的网络 调用未返回 ID, 运行时间在解析 API 之前跳过此倒计时 键,并继续等待签名的 webhook 或操作员证据;它从未 重放发送.

全部支援出入境 email.* 博客事件证实 email.send 效果被Resend所接受,所以正常化的效果结果是 confirmed_succeeded。在 eventType (计: 实例 email.delivered, (中文(简体) ), email.bounced,或 email.failed) 并且绝不能是 与成功的收件箱发送相混淆。 入境 email.received联系人, 域名、 和无效签名的事件被拒绝.

Webhook 签名机密是主机入侵证书,而不是提供者发送 证书。 将一个存放在精确的项目秘密外号下 RESEND_WEBHOOK_SECRET; 不将其放置在适配器安装或解析器中 在电子邮件发送时.

版本与发布记录

@absolutejs/dispatch-resend 共发布 18 个版本,首次发布于 2026/05/31;过去 12 个月发布了 18 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.7.1latest2026/11/025 天前
0.7.02026/08/023 个月前
0.6.22026/07/253 个月前
0.6.12026/07/223 个月前
0.6.02026/07/223 个月前
0.5.12026/07/223 个月前

关于 @absolutejs/dispatch-resend 的常见问题

@absolutejs/dispatch-resend 是什么?

后端后端的EmailAdapter带有证书安全安装效果,签名证据,以及参考方位查询恢复.

如何安装 @absolutejs/dispatch-resend?

在项目目录运行 npm install @absolutejs/dispatch-resend,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:resend(>=6.18.0 <7)、@absolutejs/dispatch(>=0.7.0 <0.10)、@absolutejs/execution(>=0.14.6 <0.15)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@absolutejs/dispatch-resend 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@absolutejs/dispatch-resend 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@absolutejs/dispatch-resend 可以商用吗?

@absolutejs/dispatch-resend 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@absolutejs/dispatch-resend 的下载量有多少?

根据 npm 官方下载统计,@absolutejs/dispatch-resend 在 2026/10/05 – 2026/11/03 这 30 天内被下载 1,986 次,日均约 66 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@absolutejs/dispatch-resend 还在维护吗?

最新版本 0.7.1 发布于 2026/11/02(5 天前);至今共发布 18 个版本,其中过去 12 个月发布了 18 个;首次发布于 2026/05/31。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。