Mailing
Select and validate a transactional email provider for your product.
When to use this page
- You need transactional email for product flows (sign-up, password reset, notifications).
- You are choosing between Mailgun, Resend, and AWS SES.
- You want to avoid deliverability issues before launch.
Prerequisites
- Sending domain available and accessible for DNS verification.
- Email use case defined (transactional only vs mixed usage).
- Expected sending volume roughly estimated.
Provider comparison
| Provider | Best for | Tradeoff |
|---|---|---|
| Mailgun | Advanced deliverability controls and reporting | Slightly heavier setup and account verification |
| Resend | Fastest developer setup and clean DX | Fewer legacy enterprise controls than older platforms |
| AWS SES | AWS-native stacks and strong price/performance | Requires AWS setup and sandbox exit workflow |
Mailgun
Strong deliverability tooling and mature APIs.
- Free tier requires: client email and phone number for account verification
Resend
Simple integration path and modern developer tooling.
- Free tier requires: verified sending domain and client email (ownership can be moved to a paid org account)
AWS SES
Best fit for fully AWS-native infrastructure.
- Getting started requires: AWS account, verified sender/domain, and production access approval (outside sandbox)
How to choose
- Use Mailgun when deliverability analytics and controls are a primary requirement.
- Use Resend when speed of implementation is more important than advanced platform features.
- Use SES when the rest of your stack is on AWS and you want native IAM/governance.
Verify
- Sender domain is verified and DNS records are propagated.
- Test emails are received by at least two external inbox providers.
- Bounce/complaint metrics are visible in provider dashboard.
Troubleshooting
- Verification stuck: Recheck DNS records (SPF/DKIM) and wait for propagation.
- Low deliverability: Confirm domain reputation, SPF/DKIM/DMARC alignment, and email content quality.
- SES blocked in sandbox: Request production access and validate recipient restrictions.