Project

General

Profile

Actions

Sub-Task #194

open

Epic #188: Notification System

Feature #189: Email Notifications

User Story #193: As a system, I want to send emails on long-term events, so that users receive batch digests

Implement email template rendering

Sub-Task #194: Implement email template rendering

Added by Bricklou 6 months ago. Updated 18 days ago.

Status:
Done
Priority:
Normal
Assigned To:
Target version:
Start date:
09/07/2026
Due date:
% Done:

100%

Estimated time:

Description

MJML source is compiled to HTML via mrml, a pure-Rust MJML→HTML renderer that only handles static markup (no variable/conditional syntax of its own).

Dynamic value injection (recipient name, verification link, etc.) is done via Tera, a Jinja2-style templating engine, layered on top of the compiled HTML. Tera is chosen over Askama specifically because it loads templates at runtime instead of compiling them into the binary, which enables the filesystem override below without a rebuild.

  • Built-in default templates are embedded in the binary.
  • Optional filesystem override: a TEMPLATE_DIR environment variable (consistent with the project's env-var-only config convention) points to a folder; if a matching template file exists there, it is used instead of the embedded default. No database involved.
  • Delivery of the rendered output is handled separately (see #195).

Related issues 1 (1 open — 0 closed)

Blocks Server - Sub-Task #166: Send invitation email with tokenPlannedBricklou

Actions

Updated by Bricklou 18 days ago Author Actions #1

  • Description updated (diff)

Updated by Bricklou 18 days ago Author Actions #2

Updated by Bricklou 18 days ago Author Actions #3

  • Status changed from Draft to To Do

Updated by Bricklou 18 days ago Author Actions #4

  • Status changed from To Do to Planned
  • Assigned To set to Bricklou
  • Target version set to Server 0.1.0
  • Start date deleted (03/29/2026)

Updated by Bricklou 18 days ago Author Actions #5

  • Status changed from Planned to In Progress
  • Start date set to 09/07/2026

Updated by Bricklou 18 days ago Author Actions #6

  • Status changed from In Progress to In Review
  • % Done changed from 0 to 100

Updated by Bricklou 18 days ago Author Actions #7

  • Status changed from In Review to Done
Actions

Also available in: PDF Atom