Blog

/

Resend vs Flowmails: a hosted platform as a Resend alternative

Resend is the closest thing the transactional email world has to a developer-first SaaS — clean dashboard, React Email, a tight Node SDK, predictable pricing. If you also want your mail data to live behind your own domain and your own keys, the comparison gets more interesting.

What Resend is great at

Resend's pitch is straightforward: a transactional email API with a great developer experience, React Email components for templates, audit logs, webhooks, and a flat $20/month for 50,000 emails with no per-message fees inside the plan. For a team that just wants to send transactional mail from noreply@app.com and never think about it, Resend is the right default.

The cost, as with any hosted provider, is that your message data lives in Resend's Postgres database. Your delivery logs, your bounce lists, your suppression rules, your open / click telemetry — all of it is in someone else's account. For most teams that is fine; for teams with a data-residency clause or a build-vs-buy reflex, it is not.

What "one connected platform" actually means

Flowmails connects to your domain provider over OAuth — no API token is stored — and runs one shared mail worker that sits on top of Email Routing for inbound and dispatches outbound to Cloudflare Email Sending or Resend. Every received message is written into storage scoped to yourdomain_id; every attachment is stored alongside it. Outbound messages are signed by your provider using the DKIM keys it manages on your zone. The data boundary is a domain boundary, enforced on every query.

What you trade is operational control for hosted convenience: you can read your mailbox through the API, you can drop an index, you can write a query to backfill a route change — but you are no longer the one who has to think about row counts and CPU budgets.

The delivery path, side by side

With Resend, you call resend.emails.send from your service, the API stores the row, signs the message with Resend's DKIM keys, and ships it via their SMTP provider. The sender reputation lives on Resend's sending IPs; you share an IP pool with other Resend customers by default, with a dedicated-IP add-on available on the Pro plan above 150,000 messages per month.

With Flowmails, your service calls POST https://api.flowmails.net/v1/messages or the equivalent Worker endpoint, the Worker hands the payload to Email Services, and Email Services signs and sends on your zone. The sender reputation lives on your Cloudflare zone, in your account. There is no shared IP pool because Email Services ships from Cloudflare's own outbound infrastructure — you inherit whatever warming posture your zone already has.

What you get for the inboxes

Resend is a send API. It does not store inbound mail, render an inbox UI, or expose a chat-style reading pane. If you want to receive support mail at support@yourdomain.com and have your team reply from the same address, you bolt on something else — often a separate customer-support platform with its own data store.

Flowmails's receive path is the same primitive used for send: the Worker writes inbound mail into D1, the dashboard lists it by mailbox and folder, and the emailbox page renders a chat-style reading pane with reply, forward, and tag actions. The whole loop — receive, index, read, reply — runs on the same D1 tables and the same Worker, so there is one source of truth for both the API and the UI.

Pricing, in concrete numbers

Resend Free: 100 emails/day, 3,000/month. Pro: $20/month for 50,000 emails. Scale: $90/month for 100,000 with dedicated IP add-on. Above that, you pay per-message.

Flowmails pricing covers the platform layer: Base is free, Pro is $9.9/month with higher limits, and Enterprise ($39.9/month) unlocks SSO, audit logs and white-label. Your provider bills you directly for its own outbound. The full breakdown is on the pricing page; the short version is that you stop paying a SaaS margin on top of Cloudflare's own usage costs.

When to pick which

Resend is the right choice if you only send, you don't care which database holds the logs, and you want React Email components today. Flowmails is the right choice if you also need an inbox, you want route tables and an event log next to it, and you would rather not operate a Worker at all. The full comparison matrix walks through every row; the Resend alternative page is the short version if you are still deciding.

See the provider-connected path in your dashboard.