Resend Setup Guide
Connect Resend to send up to 100 notification emails per day (3,000/month) for free.
Recommended for: Developers who want a modern, well-documented API provider. Great DX, clean dashboard, and fast setup. Works well if you already own a custom domain.
Not recommended for: Users without a custom domain (you can only send test emails to yourself without domain verification), or users who need more than 100 emails/day on a free plan.
Free tier details
| Feature | Free plan |
|---|---|
| Daily sending limit | 100 emails/day |
| Monthly limit | 3,000 emails/month |
| Domains | 1 custom domain |
| Credit card required | No |
| API access | Yes |
| Expiration | Never — permanent free tier |
Step 1: Create a Resend account
- Go to resend.com/signup
- Sign up with your email address or GitHub account
- Confirm your email if prompted
Step 2: Verify your domain
This step is critical. Without a verified domain, Resend only lets you send emails to your own email address (the one you signed up with). To send to anyone else, you must verify a custom domain.
- In the Resend dashboard, go to Domains in the left sidebar
- Click Add Domain
- Enter your domain name (e.g.,
yourdomain.com) - Resend will show you DNS records to add. You need to add two types of records at your domain registrar or DNS provider:
SPF record
| Type | Name | Value |
|---|---|---|
TXT | send._domainkey | (Resend will provide the exact value) |
DKIM record
| Type | Name | Value |
|---|---|---|
CNAME | resend._domainkey | (Resend will provide the exact value) |
After adding the DNS records:
- Go back to the Resend dashboard
- Click Verify on your domain
- DNS propagation can take anywhere from a few minutes to 48 hours, though it usually completes within 5–30 minutes
- Resend will show a green checkmark once the domain is verified
⚠️ Without domain verification: You can only send test emails to the email address you signed up with. All other recipients will be rejected. This is the most common source of confusion with Resend. If you do not own a custom domain, consider using Brevo instead, which only requires sender email verification.
Step 3: Create an API key
- In the Resend dashboard, click API Keys in the left sidebar
- Click Create API Key
- Name it something like "FormBlade"
- For permissions, select Sending access (full access is not needed)
- Optionally restrict the key to your verified domain for extra security
- Click Create
- Copy the API key immediately — it starts with
re_and is only shown once
Step 4: Configure FormBlade
- Log in to your FormBlade dashboard
- Open the form you want to configure
- Go to the Settings tab
- Under Email Provider, select Resend
- Paste your API key (starting with
re_) into the API Key field - Set your From Email to an address on your verified domain (e.g.,
forms@yourdomain.com) - Optionally set a From Name
- Click Save
Step 5: Send a test email
- Click Send Test Email in the Email Provider section
- Check your inbox for the test notification
- If it fails, verify that your domain is verified and the "From Email" uses that domain
Troubleshooting
"Validation error" or "From address not allowed"
- The "From Email" in FormBlade must use your verified domain. For example, if you verified
yourdomain.com, you can useforms@yourdomain.com,hello@yourdomain.com, etc. - You cannot use a Gmail, Yahoo, or other free email address as the "From Email" with Resend
"API key is invalid" error
- Make sure you copied the full API key (starts with
re_) - Check for extra spaces before or after the key
- If the key was restricted to a specific domain, make sure your "From Email" uses that domain
Domain verification stuck
- DNS propagation can take up to 48 hours in rare cases
- Double-check the DNS records at your registrar match exactly what Resend shows
- Use a tool like MXToolbox to verify your DNS records are published
- Some registrars require you to omit the root domain from the record name (e.g., use
resend._domainkeyinstead ofresend._domainkey.yourdomain.com)
Can only send to myself
- This means your domain is not verified. Resend restricts unverified accounts to sending only to the account owner's email
- Complete the domain verification in Step 2 above
- If you do not have a custom domain, use Brevo instead
Resend free plan limitations
- 100 emails/day, 3,000/month — whichever limit you hit first
- 1 custom domain — you can only verify one domain on the free plan
- Domain verification required — without it, you can only send test emails to yourself
- No dedicated IP — shared sending reputation
- Basic analytics — open and click tracking available
The 100/day limit is sufficient for most forms. A typical contact form receives 5–20 submissions per day, well within the free tier.
Common gotchas
- Domain verification is mandatory for real use — Without a verified domain, Resend only allows you to send test emails to the email address you signed up with. All other recipients will be rejected. This is the single most common source of confusion.
- You need a custom domain you control — Resend does not support sending from free email addresses (Gmail, Yahoo, etc.). You must own a domain and be able to add DNS records. If you do not have a custom domain, use Brevo instead.
- DNS record format varies by registrar — Some domain registrars require you to enter just the subdomain portion of the record name (e.g.,
resend._domainkey), while others want the full name including the root domain (e.g.,resend._domainkey.yourdomain.com). Check your registrar's documentation if verification fails. - API key shown only once — The full API key (starting with
re_) is only displayed when you create it. If you lose it, you must delete it and generate a new one. - Domain-restricted API keys for extra security — When creating an API key, you can optionally restrict it to a specific verified domain. This means the key can only send from that domain, reducing the blast radius if the key is ever compromised.
- 1 domain on the free plan — The free tier allows only one verified domain. If you need to send from multiple domains, you will need a paid plan (starting at $20/month).
- Daily vs. monthly limits — The free plan has both a 100/day and 3,000/month limit. You are capped by whichever one you hit first.
Quick reference: where to find things in Resend
| What you need | Where to find it |
|---|---|
| API Keys | API Keys in the left sidebar |
| Domain verification | Domains in the left sidebar → Add Domain |
| DNS records to add | Domains → click your domain to see required records |
| Sending logs | Emails in the left sidebar (shows recent sends and their status) |
| Usage / limits | Settings → Usage |
Official documentation: For the latest on Resend's API, domain setup, and features, visit the Resend Documentation and the Send Email API reference.