Set up sending
A fresh Mimeo can't send until a provider, a sender, and a domain
exist. The setup wizard at /setup walks all three in
four steps, and verifies each piece as you go.
Every new Mimeo shows the wizard until setup completes — the Provider and Domains & senders settings pages hand off to it, and take over for changes afterward. Nothing has to happen in one sitting: the wizard saves as it goes, and leaving the page loses nothing.
Just exploring? Pick the built-in test provider instead. It records every send and delivers nothing, so you can try the whole console without a provider account — and switch to a real provider whenever you're ready.
1. Pick your provider
Two cards: Postmark or Resend. Selecting one shows a before you continue checklist — the prep only you can do on the provider's side.
Picking a provider also routes Mimeo's own operator mail — password resets and alert email — through it, in transactional mode, with the From address defaulting to your default sender's address: an identity your provider has already verified, so it delivers with nothing more to configure. Change either any time under Settings → General → Application email, including switching operator mail to your own SMTP server.
If you pick Postmark
- Create a Postmark account and a server.
- Verify each sending domain via DKIM: Postmark → Domains → Add domain, then add the DKIM record at your DNS host.
- Request account approval — new accounts only deliver to addresses on their own domain until Postmark approves them.
- Newsletters ride your server's Broadcasts message stream. Postmark creates one by default (ID
broadcast) — nothing to do unless you made your own.
If you pick Resend
- Create a Resend account.
- Verify each sending domain: Resend → Domains, then add the DNS records it shows at your DNS host.
Partway through is fine — the wizard waits. Start the DNS records now and let them propagate while you do step 2.
2. Connect it
The wizard asks for the provider's keys, and each field notes where its value lives:
- Postmark — the server token (your server → API Tokens), the account token (Account → API Tokens — required, it's how Mimeo reads your verified domains back), and the broadcast stream ID (your server → Message Streams).
- Resend — the API key (Resend dashboard → API Keys), created with Full access — a sending-only key can't read your verified domains back.
The webhook is how delivery truth — bounces, complaints, provider-side unsubscribes — reaches your Mimeo. The webhook secret is pre-generated the moment the step opens (Regenerate mints a new one), and the Webhook URL box shows the complete URL, ready to copy:
- Postmark: paste it under your Broadcasts stream → Settings → Webhooks. Check Delivery, Bounce, Spam Complaint and Subscription Change; leave Open and Link Click unchecked — tracking is Mimeo's.
-
Resend: add the URL as a webhook endpoint,
subscribe to
email.delivered,email.bounced,email.complainedandemail.suppressed, then paste thewhsec_signing secret back into the secret field.
Save & verify checks the connection with the provider immediately — the wizard only advances when it works, so a bad token surfaces here rather than at your first send.
3. Your senders
A sender is the from name plus the address your emails come from. The
wizard shows which domains your provider has verified — and on
Postmark, prefills any confirmed sender-signature addresses. You type
only the part before the @: the domain half of each
address is a fixed end cap on the field, limited to the domains the
provider has verified (a picker when there's more than one). Complete
the names, add more addresses, and save.
This step also asks for your mailing address — the
physical address your email footers show via
{{ mailing_address }}. Anti-spam law requires every
marketing email to include one, so the wizard won't move on without
it; a P.O. box works. It's editable later under
Settings → General → Email footer.
Saving also creates the sending-domain rows for step 4 automatically — nothing gets typed twice.
4. Your domains
One CNAME per sending domain, added wherever that domain's DNS is managed:
| Type | Host | Value |
|---|---|---|
| CNAME | mimeo.yourdomain.com |
your Mimeo's own address |
The Subdomain for links field lets you use any subdomain you like, as long as the CNAME matches — only the subdomain is yours to edit; the domain itself is a fixed end cap on the field. The value is your Mimeo's own address, shown with a copy button.
Check now verifies the record by fetching your Mimeo's identity through it, so a green check means the domain really reaches your Mimeo. Each domain moves through three statuses: Waiting for DNS → Waiting on provider verification → Connected. When a check fails, the reason appears in red on that domain's card.
Finish setup unlocks when every domain reads Connected. DNS can take a few minutes — leave and come back; nothing is lost. Why the CNAME exists at all — the links, tracking, and unsubscribe page inside your email riding your own domain — is covered in Sending domains & senders.
After the wizard
Finishing lands on one more screen worth taking: connect your manager repo — it mints your API token and hands you the commands (or an agent prompt) that set up your whole operation as files. That's step 3 of getting started, and the same screen lives at Settings → Agents & API → Manager repo whenever you want it.
Day-to-day sending changes live in the standard settings pages — Settings → Provider and Settings → Domains & senders: rotate a key, add a sender, use a different subdomain. The provider references cover the deeper details: Postmark setup · Resend setup.
See also: Sending domains & senders · Sending providers