[data-reveal]{opacity:1!important;transform:none!important}
Introduction
Mailing

Introduction

Transactional e-mail for the DMS, with a block editor, drafts and versions, a send log and delivery metrics.

@antelopejs/dms-mailing gives your workspace a home for its e-mails. You design templates in a block editor, publish them as versions, and your code sends them by slug. Every send lands in a log with what the provider reported back, and an overview turns those events into delivery and engagement figures.

Send your first test email

After installation, create a template from the Order confirmation starter. Open its editor, switch from Variables to Data, and check the rendered subject and order details. Use Test with an inbox you control; in the playground, use the Ethereal inbox instead of real customer addresses.

The test uses the draft, adds [TEST] to the subject and appears in Sends without changing production metrics. Publishing is a separate step: it makes that version available to SendTemplate. A successful provider handoff is not proof of delivery; delivery and engagement come from provider events.

What it brings

Block editor

Headings, paragraphs, lists, totals, buttons, conditions and a footer, with typed variables and live test data.

Drafts and versions

Edits stay in draft. Publishing creates the next version, which is what customers receive.

Send log

Every e-mail, its data, its version, its locale and the provider's timeline, with "send again" and "fix the address".

Delivery health

Deliverability, open and click rates, a funnel, a suppression list and a provider webhook.

How it fits together

  1. Your code, an automation or the dashboard asks for a template by its slug, with recipients and data.
  2. The module renders the published version in the recipient's locale and hands it to the e-mail provider.
  3. The provider reports deliveries, opens, clicks and bounces to the module's webhook.
  4. The overview, the send log and the suppression list update in real time.
  • Templates and sends are stored per workspace (tenant) in the module's own tables.
  • E-mails render through the DMS html-render chain, so they share the DMS e-mail branding, and go out through whichever module implements @antelopejs/interface-email (for example @antelopejs/nodemailer).
  • Other modules call it through @antelopejs/interface-dms-mailing: SendTemplate and RecordEmailEvent.

Where it lives in the dashboard

The module registers under /modules/mailing, reserved to the platform owner like every DMS module:

GroupPageWhat you do there
MailingOverviewRead delivery and engagement figures, and what needs attention
MailingTemplatesBrowse, create, duplicate and archive templates
MailingEditorDesign a template, test it, publish it
MailingSendsFollow every e-mail sent and fix problems
ConfigureSettingsSender, delivery guards, provider webhook, retention, categories
ConfigureSuppression listAddresses that receive nothing any more

Installation

Add the module and an e-mail provider to your project.

Send from code

Call SendTemplate and report provider events.