Not just “sent”. Landed.
Resend and friends show you a delivery percentage and call it analytics. MailySend charts inbox placement per provider, parses your DMARC reports, names the template burning your reputation — and hands you the raw events, because it is all running in your account.
Deliverability · last 30 days
Delivery events tell you a receiver accepted the message. Placement comes from seed sends and provider postmaster feeds; anything else on this row is a model, and is labelled as one.
Bounces, authentication and per-template delivery
BOUNCE REASONS
- Mailbox does not exist
- 1,204
- Mailbox full
- 612
- Policy / reputation block
- 418
- Greylisted, retried OK
- 244
Grouped by SMTP code, with the raw remote response one click away.
AUTH & DMARC
- SPF pass
- 100%
- DKIM pass
- 100%
- DMARC alignment
- 99.98%
- Unaligned sources
- 1 · 3rd-party CRM
We parse your aggregate DMARC reports so you never open an XML file again.
BY TEMPLATE
- tpl_login
- 99.8% · 1.2s
- tpl_receipt
- 99.6% · 1.4s
- tpl_digest_v4
- 92.1% · 2.9s
- tpl_winback
- 97.4% · 1.8s
Delivery rate and median time-to-inbox, per template version.
Resend has grown into a capable marketing product. What it still can’t be is yours.
Broadcasts, automations, live segments and A/B tests are all in here — and so is everything below, which is the part that does not change when a competitor ships a changelog. These are properties of where the software runs and who owns the data.
MIT, self-hostable
The whole platform is the repo. Read it, fork it, run it, resell it — there is no hosted tier holding a feature back.
Self-host guide →Native Worker binding
Send from the Worker already handling the request through a service binding. No HTTP hop, no second TLS handshake, no cross-cloud round trip.
Binding docs →Inbox-placement analytics
Placement per recipient provider from seed sends and postmaster feeds — not a delivery percentage relabelled as inboxing.
How we measure →Parsed DMARC aggregate reports
The XML your domain already receives, parsed at the edge into alignment rates and a list of unaligned senders.
DMARC view →Free inbound with per-mailbox threading
Cloudflare Email Routing costs nothing, so receiving is included: parsed JSON, attachments in your R2, one Durable Object per mailbox.
Inbound docs →Agent and MCP mailboxes
An MCP endpoint with nine tools and a mandatory confirmation step before anything sends, with every agent action attributed in the audit log.
MCP docs →Data residency and retention you set
Durable Objects and R2 buckets stay in the jurisdiction you pick at deploy, and retention is a config value rather than a plan feature.
Security notes →Roughly half the cost at 100k/month
≈$40 of Cloudflare usage against $90 of Resend list price. Both numbers are published; the calculator shows the working.
The math →Multi-provider sending with failover
Cloudflare Email Service, Amazon SES or Resend behind one API, with automatic failover on 5xx and a percentage split for migrations.
Provider docs →
Your events, your warehouse.
Charts are the summary; the events are the truth. Every event is queryable over the API, streamable to a webhook, and exportable to object storage on a schedule — so analytics never becomes a reason you can’t leave.
$ mailysend export --range 30d --to r2://acme-mail/eventswriting 412,908 events · parquet · 41 MB✓ done r2://acme-mail/events/2026-09/*.parquet$ mailysend alerts add \--metric complaint_rate --above 0.08% --notify slack✓ alert al_3Vd created
See it against your own sending.
Import 30 days of history from Resend, SES or SendGrid and MailySend will chart it next to ours — before you move a single send.