Everything opensesh sends — magic links, confirmations, decisions, reminders — flows through one email subsystem, with two admin pages: Email delivery (/admin/emails) for what went out, and Communications (/admin/communications) for composing what goes out next.
Email types
The system sends seven kinds of mail:
| Type | What it is |
|---|---|
| Magic link | Sign-in links for submitters, speakers, and reviewers. |
| Confirmation | Submitter receipt after a CFP submission (toggleable per form). |
| Accepted / Declined | Decision emails composed in the Submissions decision dialog, with per-submission editable feedback. |
| Task reminder | Nudges for open portal tasks. |
| Calendar invite | Session scheduling invites. |
| Custom | Campaigns you write yourself. |
Every message has a delivery status: Queued, Demo, Sent, or Failed.
Email delivery: the outbox and demo inbox
Email delivery lists every message with its status. Failed sends have a Retry button.
In demo mode (MAIL_PROVIDER=demo), mail isn't sent externally — it's captured here as a browsable demo inbox with status Demo. You can open each message and read exactly what would have gone out, which makes it safe to rehearse decision sends and reminder runs on a seeded event.
Going live
Point MAIL_PROVIDER at a real provider (see Deployment) and the same pipeline
delivers for real, honestly reporting sent-versus-captured either way.
Communications: campaigns, templates, reminders
The Communications page has four surfaces:
Campaign composer
Write a message to a selected audience. Campaigns can also be started from a selection in the Speaker CRM Directory or from a Segment, which is the usual way to run outreach ("call for speakers is open", "early-bird CFP closes Friday").
Campaign history
Every past campaign with its recipients and outcomes.
Templates
Reusable content for the standard email types, so decision and confirmation emails match your event's voice.
Task reminder rule
The recurring reminder for open portal tasks. Run now triggers it immediately.
Safe to run twice
A duplicate-window guard makes sure the same person isn't reminded twice in quick succession, so running it manually right after a scheduled run is safe.
Where email appears elsewhere
Submissions desk
The Notified column tracks decision-email delivery per submission.
Evaluation
The Progress tab sends reviewer reminders.
Speaker portal
The Tasks Assignments board has a Remind action for speakers.
All of it lands in Email delivery, so there's a single audit trail for everything the platform ever tried to send.