Skip to content

renderer-mail-html

Enterprise Part of the commercial Kumiko Enterprise offering — not in the open framework.

A renderer-foundation plugin that handles RenderRequest { kind: "mail-html" } and returns { html, text } suitable for sending via channel-email. The pipeline: Handlebars variable substitution → marked Markdown-to-HTML → injection into an MJML layout → mjml() compiles to email-safe table HTML, with html-to-text producing the plain-text alternative. The MJML layout resolves through template-resolver’s 4-stage DB fallback and finally the in-code DEFAULT_MAIL_LAYOUT_MJML default — tenants override it by upserting a "mail-layout" template (seed an editable system default with seedSystemMailLayout(db)). Requires renderer-foundation + template-resolver.

This Enterprise implementation is optional. If you need a narrower or domain-specific version, you can build a renderer adapter with Kumiko’s public extension points.

Use this package when you want the maintained implementation, its existing contracts, and the surrounding operational behavior. A custom implementation is not drop-in compatible automatically: your app owns its authorization, validation, rendering output, tests, security review, and production operations.

Start with Features and composition and Renderer foundation.

What this feature needs to run (Requires).

flowchart TB
  n_renderer_mail_html["renderer-mail-html"]
  subgraph how_reqs["Requires"]
    n_renderer_foundation["renderer-foundation"]
    n_template_resolver["template-resolver"]
  end
  n_renderer_foundation --> n_renderer_mail_html
  n_template_resolver --> n_renderer_mail_html
  • Registers extension: renderer → mail-html