Resend is like having a reliable postal service built right into your app. It handles sending emails — welcome messages, password resets, order confirmations, newsletters — so they actually land in people's inboxes instead of their spam folder. Built by the creator of React Email, it's designed to be simple, fast, and developer-friendly.
When your app needs to send an email — say, a welcome message when someone signs up — it can't just use Gmail. Apps need a special email service, and that's what Resend is. Think of it as a behind-the-scenes mail room that sends emails on behalf of your app.
Resend is a transactional email API. "Transactional" just means emails triggered by something a user does — signing up, buying something, resetting a password. These are different from marketing emails (like newsletters). Resend handles both, but it really shines at transactional emails.
What makes Resend special is React Email — a companion tool that lets you build beautiful email templates using the same technology you use to build websites. Instead of wrestling with clunky HTML email editors, you design emails like you design web pages. Your AI tool can create these templates for you.
Resend was created by Zeno Rocha, who got frustrated with how complicated other email services were. The result is an API that takes minutes to set up instead of hours, with excellent deliverability (meaning your emails actually reach people's inboxes).
Sign up with your email or GitHub account. It's free and takes about 30 seconds. You'll get an API key immediately — think of this as a password that lets your app send emails through Resend.
To send emails from your own address (like hello@yourapp.com), you need to verify your domain. Resend gives you a few records to add to your domain settings — it's like proving you own the address so email providers trust your messages.
Tell your AI tool: "Install the resend package and set up the email client with my API key." Your AI will add the package and create a simple setup file. Store your API key in environment variables, not in the code.
That's it — you're ready to send. Ask your AI tool to create an API route that sends a test email. You can start with a simple text email and add beautiful templates later using React Email.
Send an email with just a few lines of code. Tell your AI tool who to send to, the subject, and the content — Resend handles the rest. No complicated configuration.
Build beautiful email templates using React components — the same building blocks used for websites. Your AI tool can create professional-looking emails in minutes.
Send from your own email address (like hello@yourapp.com) instead of a generic one. This builds trust and improves deliverability.
Get notified when emails are delivered, opened, clicked, or bounced. Like a delivery tracking system for your emails.
Need to send the same email to many people? Batch sending handles hundreds of emails at once — perfect for announcements or newsletters.
Resend handles the technical details (SPF, DKIM, DMARC) that make sure your emails land in inboxes, not spam folders. Like having a VIP pass for the inbox.
See how many emails were sent, delivered, opened, and clicked. A dashboard shows you exactly what's happening with every email your app sends.
Send files along with your emails — PDFs, receipts, invoices, or any document your users need. Just point to the file and Resend attaches it.
Preview exactly how your emails will look before sending them. No more guessing — see the final result in different email clients.
Schedule emails to be sent at a specific time in the future. Perfect for reminders, follow-ups, or time-sensitive notifications.
1. Send a welcome email
"Set up Resend to send a welcome email when a new user signs up. The email should include their name, a friendly greeting, and a button that links back to the app. Use React Email to make it look professional with our brand colors."
2. Password reset flow
"Create a complete password reset flow using Resend. When a user clicks 'Forgot Password,' generate a secure reset link, send it via email with clear instructions, and make the link expire after 1 hour. Include a React Email template for the reset email."
3. Order confirmation email
"Build an order confirmation email using Resend and React Email. The email should show the order number, list of items purchased with prices, total amount, shipping address, and estimated delivery date. Make it look like a professional receipt."
4. Newsletter with Resend
"Set up a simple newsletter system using Resend. Create a subscribe form, store email addresses in the database, and build an admin page where I can write a newsletter and send it to all subscribers using Resend's batch sending feature."
5. React Email template
"Create a reusable React Email template for our app's transactional emails. Include a header with our logo, a main content area, and a footer with unsubscribe link and social media icons. Use a clean, modern design that works in all email clients."
6. Domain verification setup
"Walk me through verifying my domain with Resend. Show me what DNS records I need to add and help me set up the Resend configuration so I can send emails from hello@mydomain.com instead of the default Resend address."
7. Webhook tracking
"Set up Resend webhooks to track email delivery status. Create an API endpoint that receives webhook events from Resend and logs whether each email was delivered, opened, clicked, or bounced. Store this data so I can see email analytics in my app."
8. Batch email sending
"Create a feature to send batch emails using Resend. I need to send a product update email to all active users. Build an admin page where I can compose the email, preview it, and send it to everyone at once using Resend's batch API."
9. Email with attachments
"Set up Resend to send emails with PDF attachments. When a user purchases something, generate a PDF invoice and send it as an attachment in the confirmation email. Use React Email for the email template."
10. Notification system
"Build an email notification system using Resend. Users should be able to choose which notifications they receive (new comments, mentions, weekly digest). Create a preferences page and only send emails for the notifications they've opted into."
11. Email verification on signup
"Add email verification to our signup flow using Resend. After a user registers, send them a verification email with a unique link. When they click it, mark their account as verified. Show a 'please verify your email' banner until they do."
Without domain verification, you can only send from Resend's test address. Verify your domain right away so your emails come from your own address — this dramatically improves deliverability.
Never put your Resend API key directly in your code. Use environment variables (like .env files). Tell your AI: "Store the Resend API key in an environment variable."
React Email makes building email templates easy. Ask your AI tool to create them — you'll get beautiful emails that look great in every email client, from Gmail to Outlook.
Before going live, send test emails to yourself. Check that they look right, links work, and they land in your inbox (not spam). Resend's free tier is perfect for testing.
Webhooks tell you when emails are delivered, opened, or bounced. This is like getting a delivery confirmation receipt — invaluable for knowing if your emails are actually reaching people.
The best transactional emails are brief and have one clear action. A password reset email doesn't need to be a novel — just the link and instructions.
This usually means your domain isn't verified, or you're missing DNS records. Go to Resend's dashboard, check your domain status, and make sure all DNS records (SPF, DKIM) are properly set up. Also avoid spammy subject lines like "FREE!!! ACT NOW!!!"
Double-check that you're using the right API key (not a revoked one). Make sure it's stored in your environment variables correctly — no extra spaces or quotes. You can generate a new key in the Resend dashboard if needed.
Email clients are pickier than web browsers. Stick to simple layouts, inline styles, and tables for complex layouts. Test your emails in multiple clients — what looks perfect in Gmail might break in Outlook.
The free plan allows 100 emails per day. If you're running out, batch similar notifications into a single email, or upgrade to the Pro plan for 50,000 emails per month.
Check Resend's dashboard for delivery status. If emails show as "delivered" but aren't in the inbox, check the spam folder. If they show as "bounced," the email address might be invalid or the recipient's server is blocking you.
| Feature | Resend | SendGrid | Mailgun | Postmark | AWS SES |
|---|---|---|---|---|---|
| Ease of setup | Very easy | Moderate | Moderate | Easy | Complex |
| React Email support | Built-in | No | No | No | No |
| Free tier | 100/day | 100/day | 100/day (trial) | 100/month | 62K/month (with EC2) |
| Modern API design | Yes — clean & simple | Older, complex | Decent | Clean | Very complex |
| Webhooks | Yes | Yes | Yes | Yes | Via SNS |
| Best for | Modern apps, React devs | High volume | Flexible sending | Transactional only | AWS users, bulk |