Resend has become the default for transactional email — clean API, great DX, free tier covers most startups. Here's the full setup.
Why Resend over SendGrid/Mailgun
- Free tier: 3000 emails/month (vs SendGrid's 100/day)
- API is a single fetch call
- Built by the Vercel team — exceptional docs
- React Email components for templating
Step 1: Add a domain (5 min)
resend.com → Domains → Add Domain → yourdomain.com. Resend gives you 4 DNS records (SPF, DKIM, DMARC, MX optional). Add them at your DNS host. Wait 5-30 minutes for verification.
Step 2: Get an API key
API Keys → Create API Key → save it (re_abc123...)
Step 3: Send (Node)
fetch('https://api.resend.com/emails', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer re_abc123...'
},
body: JSON.stringify({
from: 'hello@yourdomain.com',
to: 'user@example.com',
subject: 'Welcome!',
html: '<p>Thanks for signing up.</p>'
})
});
That's it. No SMTP config, no Mailgun complexity.
React Email templates
npm i react-email @react-email/components
// emails/welcome.tsx
import { Html, Heading } from '@react-email/components';
export default ({ name }) => (
<Html>
<Heading>Welcome, {name}!</Heading>
</Html>
);
Render server-side, pass HTML to Resend. Done.
Webhooks for delivery tracking
Resend can push webhook events (delivered, bounced, opened, clicked) to your endpoint. Add at Webhooks → Add Endpoint. Useful for "did this email actually arrive?" debugging.
When Resend doesn't fit
- 100K+ emails/day → switch to Postmark or SendGrid (better pool diversity at scale)
- Marketing emails (newsletters) → use Beehiiv, Substack, or Loops instead
For transactional in 2026, Resend is the answer.
Need this built for you?
Hire a vetted Nexora expert. Escrow-protected. Fixed price. From $65.
Browse automation services →