Skip to content
ANALYTICS

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

30dtag: receiptdomain: acme.dev
SENT
412,908
+18% vs prev
DELIVERED
99.4%
2,478 failed
INBOX PLACEMENT
~96.1%
−1.8pt · Outlook
OPEN RATE
61.7%
privacy-adjusted
COMPLAINTS
0.02%
safe · limit 0.1%
FUNNEL
Accepted412,908
Delivered410,430
Inbox (not spam)394,439
Opened254,769
Clicked88,161
INBOX PLACEMENT BY PROVIDER
Gmail98.1%
Outlook89.4%
Apple97.2%
Yahoo95.8%
Corporate93.5%

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.

RUNS IN YOUR ACCOUNT

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 →
RAW DATA

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.

Analytics API reference →
EXPORT & ALERTS
$ mailysend export --range 30d --to r2://acme-mail/events
writing 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.