Skip to content

Changelog

Every release, every fix. Newest first.

RSS
·v0.4.0
feature

Templates: react-email components for transactional sends

EmailMate 0.4.0 ships a first-class templates system for transactional email.

What’s new

  • New emailmate/templates sub-export with pre-built components (Button, Container, Hr, Link, Section, Text) built on top of @react-email/components.
  • A tailored Tailwind preset (emailmate/templates/tailwind-preset) so your agent-authored templates match the EmailMate visual language out of the box.
  • Zod variable schemas: declare your template inputs once, get validated rendering AND JSON-schema for MCP tool calls.
  • Template registry: named templates you can invoke by ID (em_send_template { template_id: "welcome", variables: {...} }).

Why

Agents were writing raw HTML. Agents should not be writing raw HTML.

Now they invoke em_template_render with a named template and typed variables, and get back an inlined, litmus-tested email body. Dashboard shows a preview.

Upgrade

bun add emailmate@0.4.0

No breaking changes. Old em_send { html } calls continue to work.

·v0.3.4
fix

Fixed: dashboard now shows the actual sender domain for every email

Fixed a P0 bug where the Emails table in the dashboard showed the account’s default domain for every row, even when a send came from a different verified domain.

What changed

  • The send pipeline now persists the resolved from_domain on every log entry.
  • The Emails table and filters read the real domain instead of inferring it from the account.
  • Existing logs were backfilled from their SES Message-ID where possible; unresolvable legacy rows show .

No API changes. If you were scripting the dashboard off the domain column, it’s now accurate.

Showing 2 entries.

featurefixinfra