RESEND · TECH STACK
Resend: developer-first mail API with React Email templates
Resend is the new developer-first mail API from the React Email makers. Free 3,000 mails/month, Pro USD 20 for 50,000 mails, US hosting with EU region in beta since May 2026.
Researched & fact-checked by: DuneDive LLC · As of: 2026-05
What is Resend?
Resend is a US mail-sending service, founded in 2023 by the team behind "React Email" (a 2022 open-source library for type-safe email templates in React). Resend is the commercial sending platform for this library and follows the design principle "Developer Experience First" -- clean API, excellent documentation, TypeScript SDK with full type inference, and a UI built to 2024 standards (Linear-like, dark theme, fast search).
The value over SendGrid or Mailgun lies in the tooling stack: React Email lets templates be written as React components, with MJML-like layout engine and hot-reload preview in the browser. Resend renders the React component server-side to HTML at send time -- template care is no longer "ugly HTML-table editor" but modern React code with component reuse. For startups on React/Next.js stack, this is a real productivity gain.
As of May 2026, Resend hosts primarily in the USA (AWS us-east-1, Virginia). An EU region (`api.eu.resend.com`, AWS eu-west-1 Ireland) was activated in beta in early May 2026 -- selectable at domain creation, with separate DPA. As of May 23, 2026, the EU region is still beta, but Resend openly communicates that General Availability is planned for Q3 2026.
Pricing (May 2026): Free 3,000 mails/month plus 100/day (very generous compared to Postmark Free 100/month), Pro USD 20/month for 50,000 mails, Scale USD 90/month for 100,000 mails plus dedicated IP, Enterprise individual. Free tier requires a verified sender domain, not just account mail -- this prevents hobby spam accounts.
Why it matters for SMEs
Resend is relevant for three specific cases: startups with Next.js/React stack, modern template tooling, and very generous free-tier incentives.
Next.js stack affinity: Whoever builds a Next.js 15 project with App Router and TypeScript can wire Resend in three lines. The official `resend` NPM package exports a `Resend` class that can be called directly from a Server Action or Route Handler. Templates live as React components in the same repo -- no switch to an external template IDE needed. For a startup with Vercel hosting and Resend mail, the entire email path is productive within 30 minutes.
React Email library: The underlying library `@react-email/components` offers pre-built components (`<Container>`, `<Section>`, `<Heading>`, `<Button>`, `<Img>`) with guaranteed Outlook/Gmail/Yahoo compatibility. The classical pain of HTML email (table layouts, inline-CSS hacks, Outlook-specific conditional comments) goes away. The hot-reload preview in the browser allows fast template iteration.
Free tier: 3,000 mails per month is the most generous productively usable free tier on the market. A small fiduciary office with 80 clients and 1,500 quarterly reminder mails per quarter uses Resend for free -- without artificial limits like Postmark Free (100/month) or SendGrid Free (100/day with CC requirement). Free tier allows no dedicated IP and no marketing streams.
The big caveat for Swiss fiduciaries: Resend is a US provider. The EU region is still beta as of May 2026 -- for professional secrecy (Art. 321 SCC) and revFADP data processing, a generally available region is needed, otherwise a TIA must be done. Recommendation: test Resend in beta, for production with client data wait for GA or use Brevo/Mailjet (EU-first) as bridge.
How it works
Resend exposes SMTP relay, HTTPS API, and SDKs in TypeScript, Python, Go, Ruby, PHP.
SMTP relay: Host `smtp.resend.com`, port 587 STARTTLS or 465 SMTPS, user `resend`, pass the API key string.
HTTPS API: Endpoint `https://api.resend.com/emails` (or `https://api.eu.resend.com/emails` since May 2026 in beta), header `Authorization: Bearer <API-Key>`. cURL example:
``` curl -X POST "https://api.resend.com/emails" \ -H "Authorization: Bearer ${RESEND_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "from": "Firm Müller <invoice@firm-müller.ch>", "to": ["[email protected]"], "subject": "Dunning No. 2 - Invoice 2026-104", "text": "Dear Mrs Berger, ...", "tags": [{ "name": "category", "value": "dunning-stage-2" }] }' ```
TypeScript SDK (the DX highlight):
``` import { Resend } from "resend"; import { InvoiceReminderEmail } from "@/emails/invoice-reminder";
const resend = new Resend(process.env.RESEND_API_KEY);
await resend.emails.send({ from: "Firm Müller <invoice@firm-müller.ch>", to: "[email protected]", subject: "Dunning No. 2 - Invoice 2026-104", react: InvoiceReminderEmail({ amount: "CHF 1450.00", dueDate: "30 May 2026" }), }); ```
The `react` field takes a React component server-side rendered to HTML at send time. TypeScript checks the component props at compile time -- a forgotten mandatory prop is caught immediately by the compiler.
DNS setup: Resend requires three DNS records: MX (`feedback-smtp.eu-west-1.amazonses.com` priority 10, for bounce returns), SPF (`v=spf1 include:amazonses.com ~all` -- Resend uses SES under the hood for sending), DKIM (TXT, Resend-generated selector). DMARC: by the domain owner. In the dashboard a "Status: Verified" indicator per domain.
Webhooks: In the dashboard under "Webhooks", enter endpoint, pick events (sent, delivered, bounced, complained, opened, clicked, delivery_delayed). HMAC-SHA256 signature via Svix (Resend uses Svix as webhook infrastructure).
Monitoring: Dashboard yields real-time list with filters (status, tag, recipient). "Email Activity" search by subject or recipient. Statistics API allows JSON export per day/tag-group/recipient -- ideal for Grafana.
Resend setup in 5 steps
- 01Create a Resend account, if available pick EU region (beta) at domain creation.
- 02Generate an API key in the dashboard (Full Access or Sending Only), store in .env (RESEND_API_KEY).
- 03Set three DNS records (MX, SPF, DKIM) in Cloudflare as DNS-only, wait for domain status "Verified".
- 04`npm install resend @react-email/components` -- write first template component, send with `resend.emails.send({ react: ... })`.
- 05Set webhooks for bounced and complained, verify Svix signature, verify Mail-Tester.com 10/10.
When Resend fits
Resend is the right choice when (a) the stack is Next.js / React / TypeScript, (b) templates should be maintained as code (instead of HTML editor), and (c) a generous free tier is needed for MVP or startup phase.
Concrete cases: A YC startup with Next.js and Vercel needs mail sending for signup confirmations and password resets -- Resend productive in 30 minutes. An internal tool for a fiduciary firm (e.g. client onboarding workflow) stays under 3,000 mails/month and runs free. A SaaS product with complex mail templates (audit reports, quarterly statements) benefits from React Email -- reuse templates, enforce brand consistency.
For DACH setups: test EU region in beta, for production with client data wait until GA Q3 2026. Alternative: Resend for applications without client data (e.g. internal notification tool), Brevo or Mailjet for client mails.
When not to use
Resend is the wrong choice when (a) client data appears in mail bodies and EU/Swiss hosting is required (EU region is still beta as of May 2026), (b) maximum deliverability for dunning mail is needed (Postmark beats Resend slightly, measured 97 vs 99 percent in 2026 tests), or (c) volume exceeds 500,000 mails per month -- from there Amazon SES becomes clearly more economical.
More pitfalls: running Resend in production with client data without a TIA -- US hosting demands a revFADP impact assessment. Writing templates as plain HTML instead of using React Email -- the core Resend advantage disappears. Processing webhooks without Svix signature verification -- spoofing risk. Forgetting the free-tier 3,000-mails/month cap in production and overrunning it -- further mails are 429 rejected, no soft limit.
Trade-offs
STRENGTHS
- Best developer experience on the market (TypeScript-first, React Email)
- Very generous free tier (3k mails/month)
- Pro USD 20/month for 50k -- cheap for volume
- Modern UI and excellent documentation
WEAKNESSES
- EU region still in beta as of May 2026
- US hosting requires revFADP TIA for client data
- Deliverability slightly below Postmark (97 vs 99 percent)
- Young -- 3 years of market maturity, fewer enterprise references
FAQ
What does Resend cost a startup?
Free 3,000 mails/month plus 100/day -- most generous free tier on the market. Pro USD 20/month for 50k mails (cost-efficient). Scale USD 90/month for 100k plus dedicated IP. Comparison Postmark EUR 15/10k, Brevo Starter EUR 19/20k. At 50k mails Resend is on par with Postmark.
What exactly is React Email?
React Email is an open-source library for type-safe email templates in React (see react.email). Components like `<Container>`, `<Heading>`, `<Button>` have guaranteed Outlook/Gmail compatibility. Templates live as React code in the project repo, with hot-reload preview in the browser. Resend renders the component server-side to HTML at send time -- no separation between template code and sending infra.
When does the EU region go production?
As of May 2026: beta available at `api.eu.resend.com` (AWS eu-west-1 Ireland). General Availability announced for Q3 2026. Beta users report stable latency but different SLA versus GA. For Swiss SMEs with revFADP duty: still cautious until GA, secure via TIA or bridge with Brevo/Mailjet.
Resend vs Postmark for a Next.js project?
Resend: best DX with React Email, TypeScript SDK, Free 3k/month. Postmark: highest deliverability (99 vs 97 percent), clear dashboards, EUR 15/10k. For Next.js startups clearly Resend. For compliance-critical dunning mail clearly Postmark. Both US-hosted -- TIA needed in both cases for client data.
Related topics
Sources
- Resend Pricing 2026 · 2026-05
- React Email Documentation · 2026-04
- Resend EU Region Beta Announcement · 2026-05
- Resend API Reference -- Send Email · 2026-05