Skip to content

Screenshots

The whole application, so you can judge it before installing anything. Light theme shown; there is a dark one, and it follows your system setting by default.

Everything here is made up

These are taken against a throwaway database seeded to look like an installation in regular use — a fresh install shows the same screens with empty tables. The names, addresses, directory and mail server are all fictional, and nothing in it can send.

Sign in

The sign-in page

Local accounts, or directory sign-in so a team shares the tool with their own credentials. The banner is a reminder, not decoration — this app speaks plain HTTP and belongs behind a reverse proxy.

Dashboard

The dashboard, showing counts and recent campaigns

Recipient, list and send counts, recent campaigns with their status, and a getting-started checklist that stays until you have actually done the steps.

Recipients

The recipients table with search and bulk actions

Search and filter, then act on the results. Bulk actions apply to everything matching the filter, not only the rows on screen — the confirmation tells you the real number before it happens.

Suppressed addresses are marked and are skipped by every campaign.

Lists

The lists page, showing directory sync state per list

A campaign addresses lists. A list filled from a directory search can be kept in sync with it — this page shows which lists sync, which profile each came from, when each last ran, and why the last run failed if it did.

Templates

The saved templates, each reusable in a campaign

Write once, reuse. Visual editing or raw HTML, with a plain-text part generated automatically. Placeholders like are filled per recipient by a sandboxed renderer.

Campaigns

The campaign list with per-campaign status

Every campaign with its status: draft, queued, sending, paused, completed, cancelled or failed — and who created it.

New campaign

Composing a campaign, with lists, template and dry run

Pick the lists, load a template, attach files, preview against a real recipient. Dry run is right there next to send, which is where it should be.

Settings

SMTP settings with a connection test

The mail server, sender identity and default throttle. Stored in the database and editable without a restart. Test SMTP connection opens a real connection and tells you what happened.

Stored passwords are encrypted with a key derived from SECRET_KEY.

LDAP

Connection profiles and the list synchronisation interval

Connection profiles, attribute mapping, and a search you can preview before importing anything. Group filters handle include and exclude by DN, nested groups, and match-all or match-any.

The sync interval for lists that track a directory search lives here too.

Users and access

User administration and directory sign-in settings

Local and directory-backed accounts, admin rights, and the LDAP sign-in settings. Test a sign-in checks the configuration against the directory without touching your own session — worth doing before you sign out.

Account

The account page for changing your own password

Your own password and details. The bootstrap ADMIN_PASSWORD is read only once, while the user table is empty, so this is where you change it afterwards.

Released under the MIT licence.