# @cosmicdrift/kumiko-renderer-mail-html 中文文档

规范地址：https://npmcn.com/package/%40cosmicdrift/kumiko-renderer-mail-html/

版本：0\.419\.0
npm 元数据更新时间：2026-11-10T16:29:16.661Z
中文译文更新时间：2026-11-10T20:12:20.062Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cosmicdrift/kumiko-renderer-mail-html
原文对照：https://npmcn.com/package/%40cosmicdrift/kumiko-renderer-mail-html/?lang=original
项目主页：https://kumiko.rocks/
源码仓库：https://github.com/CosmicDriftGameStudio/kumiko-framework

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：90.8 kB，31 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：7 个
- 首次发布：2026-10-16T19:05:03.545Z
- 最新版本发布：2026-11-10T16:29:16.110Z
- 近 30 天下载量：18825（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：63（近 12 个月 63 个）

## 中文简介

品牌HTML电子邮件的渲染器-Foundation插件:由孤立的Handlebars提供邮件-kind模板(document HTML + subject meta),再通过html-text提供纯文本. 从模板解析器解析模板 .

## 安装

```sh
npm install @cosmicdrift/kumiko-renderer-mail-html
```

也可以使用：`pnpm add @cosmicdrift/kumiko-renderer-mail-html`、`yarn add @cosmicdrift/kumiko-renderer-mail-html`、`bun add @cosmicdrift/kumiko-renderer-mail-html`

## README

# 渲染器-邮件-html

插头 für `renderer-foundation`. 招标 `RenderRequest { kind: "mail" }` zu Betreff + 电子邮件安全 HTML + 纯文本 : **邮件模板( Dokumment- HTML +) `meta.subject`) - > 等离子管- > MJML-Layout - > html- to- text**。 。 。 .

## 管道

```
RenderRequest { kind: "mail", payload: { slug, locale, variables, unsubscribeUrl? } }
                            ↓
   1. Template laden      resolveTemplate(slug, kind "mail", locale), nur contentFormat html,
                          meta.subject Pflicht
   2. Layout laden        meta.layoutSlug ?? "default", kind "mail-layout";
                          tenant -> system -> in-code DEFAULT_MAIL_LAYOUT_MJML
   3. Body kompilieren    compileDocumentBodyToHandlebars (template-resolver): span[data-variable],
                          Links, Listenzeilen -> Handlebars-Quelle; Autoren-Klammern sind inert
   4. Rendern             Handlebars.create() mit Helfern money/date/link, HTML-Escaping an;
                          Betreff + Preview-Text ohne Escaping, CR/LF entfernt
   5. Layout              Body als Datum (`{{{content}}}`), nie in die Layout-Quelle konkateniert;
                          Layout-Kontext nur: content, subject, previewText, tenantName,
                          signature, imprint, unsubscribeUrl
   6. mjml + html-to-text
                            ↓
   RenderResponse { kind: "mail", subject, html, text, previewText? }
```

Datum und Zahlen 格式化的纳克 `payload.locale`, der Sprache der Vorlage, im langen Datumsformat ("1. Oktober 2026"). `ctx.config` (可选的)活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活活 `tenantName` (Branding-Titel); 欧恩·克菲克·格尔滕 `EUR` ưμ㼯a `""`。 。 。 .

## 挂载

```typescript
import { createRendererMailHtmlFeature } from "@cosmicdrift/kumiko-renderer-mail-html";
import { createTemplateResolverFeature } from "@cosmicdrift/kumiko-bundled-features/template-resolver";
import { createRendererFoundationFeature } from "@cosmicdrift/kumiko-bundled-features/renderer-foundation";

const features = [
  createTemplateResolverFeature(), // Vorausgesetzt
  createRendererFoundationFeature(), // Vorausgesetzt
  createRendererMailHtmlFeature(), // Dieses Plugin
];
```

邮件- Texte kommen aus `r.notification({ variables, template, meta })`· ; `applyBootSeeds` (原始内容存档于2018-03-31) (英语). Legt Sie als System-Templates an.

## 调用程序

```typescript
const foundation = requireRendererFoundation(ctx, "sendWelcomeMail");
const renderer = foundation.createRendererForTenant({ tenantId, kind: "mail" });

const result = await renderer.render(
  {
    kind: "mail",
    payload: {
      slug: "my-feature:notify:welcome",
      locale: "de",
      variables: { name: user.name, verifyUrl: "https://..." },
    },
  },
  { db: ctx.db, registry: ctx.registry, tenantId, config: ctx.config },
);

await ctx.mailTransport.send({
  to: user.email,
  subject: result.subject,
  html: result.html,
  text: result.text,
});
```

## 租户

Ein 租户 legt ein eigenes 布局等模板 `kind: "mail-layout"`, (中文(简体) ), `contentFormat: "mjml"`缩写 `default` (奥德·德·斯卢克) `meta.layoutSlug`一个。 Es gewint gegen System-Layout un-d in-code 默认值 。 Das 布局 sieht nur die oben genannten 变量; den body setzt es mit `{{{content}}}` 爱因.

## 可选种子

```typescript
import { seedSystemMailLayout } from "@cosmicdrift/kumiko-renderer-mail-html/seeding";

await seedSystemMailLayout(db); // idempotent
```

(原始内容存档于2018-10-21) (英语). Oohne Seeding läuft das 插件trotzdem und fällt auf `DEFAULT_MAIL_LAYOUT_MJML` z克.

## 范围外

-   视觉编辑版式
-   内置-图像-图像化(CID-Attachments)
-   PDF/图像 - > Andere插件(`renderer-puppeteer-client`(中文(简体) )
-   邮件 - Versand - > `delivery` + 键 `channel-email` + 键 `mail-transport-*`

## 常见问题

### @cosmicdrift/kumiko-renderer-mail-html 是什么？

品牌HTML电子邮件的渲染器-Foundation插件:由孤立的Handlebars提供邮件-kind模板\(document HTML \+ subject meta\),再通过html-text提供纯文本\. 从模板解析器解析模板 \.

### 如何安装 @cosmicdrift/kumiko-renderer-mail-html？

在项目目录运行 npm install @cosmicdrift/kumiko-renderer-mail-html，或使用 pnpm add / yarn add / bun add。

### @cosmicdrift/kumiko-renderer-mail-html 支持 TypeScript 吗？

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

### @cosmicdrift/kumiko-renderer-mail-html 支持 ESM 还是 CommonJS？

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

### @cosmicdrift/kumiko-renderer-mail-html 可以商用吗？

@cosmicdrift/kumiko-renderer-mail-html 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @cosmicdrift/kumiko-renderer-mail-html 的下载量有多少？

根据 npm 官方下载统计，@cosmicdrift/kumiko-renderer-mail-html 在 2026/10/11 – 2026/11/09 这 30 天内被下载 18,825 次，日均约 628 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cosmicdrift/kumiko-renderer-mail-html 还在维护吗？

最新版本 0\.419\.0 发布于 2026/11/11（今天）；至今共发布 63 个版本，其中过去 12 个月发布了 63 个；首次发布于 2026/10/17。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

