Sending providers
Your Mimeo owns your email operation. A sending provider owns delivery. Keeping those separate is why you can change who delivers your mail without changing anything about how you run it.
The split
| Your Mimeo | The provider |
|---|---|
| People, custom fields, tags | Accepting a message and delivering it |
| Events, timelines, attribution | Reputation and deliverability infrastructure |
| Money history and lifetime spend | Bounce and complaint handling at the transport level |
| Emails, templates, components, buttons | Its own suppression list |
| Open and click tracking, and the stats built on it | — |
| Unsubscribe records, with source and reason | — |
| The send log | — |
Everything in the left column is in your database. If you move providers, it all stays exactly as it is.
One provider, everything through it
You connect one provider, and every send — broadcasts, sequences, flows, test sends — goes through it. Picking it in Settings → Provider is the whole assignment; there is nothing else to route.
What stays authoritative in core
Providers vary in what they can report back, so Mimeo deliberately doesn't depend on them for anything it can determine itself.
- Engagement is ours. Mimeo injects its own open pixel and wraps its own links, so opens and clicks are measured consistently no matter who delivers. See Tracking.
- Unsubscribes are ours first. An opt-out is recorded locally with its source and reason, then pushed to the provider where the provider supports it. The local record is the one that governs whether you send.
- Acceptance is not delivery. The send log records that the provider accepted the message. Whether it reached the inbox is separate, and reconciles later through suppression sync.
Available providers
- Postmark Message streams, webhooks, and a suppression list Mimeo reads and writes both ways.
- Resend A bare pipe: suppression by webhook, no bulk API, and the unsubscribe headers are ours.
Two providers ship, and they are shaped differently in the ways that matter. Resend is a bare pipe that fans out through Mimeo's own paced sender, pushes suppression by webhook, has no suppression read API at all, and leaves the unsubscribe headers to us. Postmark splits mail across message streams, reports by webhook, and keeps a per-stream suppression list Mimeo both reads and writes.
How the providers compare
The core behavior is identical everywhere: Mimeo composes, personalizes, and tracks every email, checks its own unsubscribe list before every single send, and sends broadcasts through its own paced queue with a full report. What differs is what each provider can tell Mimeo, how fast, and what it takes to set up.
Setup is two-sided, whichever provider you pick. Verifying the domain at the provider (DKIM) says you may send as it; connecting the same domain in Mimeo under Settings → Domains & senders — one CNAME — puts the links inside your email on that domain too. Both have to be green before mail from the domain sends. See Sending domains & senders.
| Postmark | Resend | |
|---|---|---|
| Broadcast sending | From Mimeo's queue — full report | From Mimeo's queue — full report |
| Sending pace | No published cap — the account's own ceiling (300/minute by default) sets the pace | 600 emails/minute, or the account's ceiling when that's lower |
| Gmail's one-click unsubscribe button | Goes through Postmark's unsubscribe page by default and syncs back by webhook; comes straight to Mimeo once Postmark support enables custom handling | Comes straight to Mimeo, instantly, tied to the exact email |
| Delivery, bounce & spam-complaint news | Webhooks — recorded within seconds | Webhooks — recorded within seconds |
| Mimeo unsubscribes mirrored to the provider | Yes — written to Postmark's suppression list | No API for it — Mimeo's own send-time check is the guard |
| Reading suppressions back | Yes — a nightly sync double-checks recently emailed people | No read API — webhooks are the only channel |
| Spam complaints | Permanent on Postmark's side — resubscribing in Mimeo can't clear it | Recorded and suppressed in Mimeo |
| Setup requirements | Server + account tokens, a Broadcasts-type message stream, a DKIM-verified domain or confirmed sender signature, a webhook + secret — and the domain connected in Mimeo | API key, a DKIM-verified sending domain, a webhook + secret — and the domain connected in Mimeo |
| GDPR erase | Manual cleanup in Postmark's dashboard (no deletion API) | Manual cleanup in Resend's dashboard (no deletion API) |
Anything the provider layer got wrong would show up as one of them needing a special case above the seam. None does — which is what makes a third straightforward. Anyone who needs one writes it against the conformance suite, and a green run is what certifies it.
Switching providers
A Settings change: pick the new provider, enter its credentials, press Verify connection, save. Your people, suppression list, flows, sequences, emails, tracking and history all stay exactly where they are — none of it was ever the provider's.