Mailgun is good. But the pricing changed.
Mailgun built a strong reputation among developers in the 2010s. Clean REST API, powerful inbound routing, detailed logs, and a flexible webhooks system. It was the default choice for "I need to send email from my app" for years.
Post-acquisition by Sinch, the product still works but the economics shifted. There is no permanent free tier. The three-month trial gives you 5,000 emails per month, then either you pay or you stop. The Foundation plan is $35/month for 50,000 emails. If you are sending 5,000 emails per month, you are paying $35/month for headroom you are not using, or you are on the Flex plan where per-email overage costs $0.80 per 1,000. The warmup optimization feature (Mailgun Optimize) is a separate paid add-on.
Transmit matches Mailgun's developer experience and adds a permanent free tier, built-in warmup on every plan, and a BYOK mode that lets you keep email data in your own AWS account.
BYOK: a permanent free tier with no lock-in
Transmit BYOK mode connects to your own AWS SES account. Transmit handles the operational layer (dashboards, warmup, bounce suppression, contact management, API access) and calls AWS on your behalf using your credentials.
The free BYOK tier includes 1,000 emails per month. No credit card required. No trial expiry. Your SES costs remain at AWS's standard rate ($0.10 per 1,000 emails), which for 1,000 emails per month is ten cents.
Paid BYOK tiers start at $9/month and unlock higher sending limits, sequences, inbound email routing, email validation, and more. The Transmit tier is the only additional cost on top of your AWS bill.
Connecting takes two steps:
- Deploy a scoped IAM role using the one-click CloudFormation template. Transmit assumes the role via STS. No static credentials stored.
- Add your sending domain in the dashboard. Verify with DKIM/SPF/DMARC DNS records. If those records are already in place from a prior SES setup, verification is near-instant.
Full setup guide: /byok
Feature comparison
| Mailgun | Transmit Managed | Transmit BYOK | |
|---|---|---|---|
| Permanent free tier | No (3-month trial only) | No (paid from $2/mo) | Yes (1k emails/mo) |
| Starting paid price | $35/mo (50k emails) | $2/mo (3k emails) | $9/mo + AWS SES |
| Flex/overage pricing | $0.80/1k | Per-volume tier | AWS SES rate ($0.10/1k) |
| REST API | Yes | Yes | Yes |
| SMTP relay | Yes | Yes | Yes |
| Automated warmup | Paid add-on (Mailgun Optimize) | Yes, included | Yes, included |
| Reputation isolation | Shared (dedicated IP add-on) | Per-org | Per-org (your AWS) |
| Inbound routing | Yes | Yes | Yes |
| Sequences (drip) | No | Yes | Yes |
| BYOK mode | No | No | Yes |
| MCP server | No | Yes | Yes |
Warmup: included, not an upsell
Mailgun Optimize provides sending warmup recommendations and deliverability insights, but it is not included in the base Foundation plan. It is priced separately.
Transmit's warmup scheduler is included on every plan, including the free BYOK tier. It works like this:
- The scheduler runs on a per-domain curve, increasing daily sending volume gradually over the warmup period.
- If bounce rates exceed safe thresholds, sending pauses automatically.
- You can see the warmup progress per domain in the dashboard: current daily cap, days into warmup, and cumulative sends.
- Once warmup completes, the domain moves to full sending capacity.
You do not configure this manually or pay extra for it. It runs automatically from the moment you add a new domain.
Inbound email: both platforms handle it well
This is one area where Mailgun genuinely excels. Its inbound routing engine has been production-proven for years. Routes support regex pattern matching on recipient addresses, priority ordering, and delivery to multiple destinations. The raw MIME parsing and storage options are flexible.
Transmit's inbound routing supports the same core use cases: receive email on your domain, store it, forward it to another address, POST it to a webhook, or drop it. For BYOK mode, Transmit provisions S3 buckets and SNS topics in your own AWS account to receive and process inbound mail, so raw email data stays in your infrastructure. For managed mode, Transmit handles the AWS setup.
If your inbound routing requirements involve complex regex trees with dozens of rules and multi-destination fan-out, Mailgun's routing engine has more surface area. For most applications (receive replies, parse support tickets, handle bouncebacks), Transmit's inbound system covers the requirement.
The Sinch acquisition effect
Mailgun was acquired by Sinch in 2021. The API still works well and the underlying infrastructure is stable. But developer experience investments have slowed, documentation updates lag, and support response times have stretched. Several teams that relied on Mailgun's responsive support in the early years have noted the change post-acquisition.
Transmit is a focused, actively developed product. The API is the core surface, not a legacy feature of a larger telecom platform.
When Mailgun still makes sense
If you are already on Mailgun, have complex inbound routing rules built up over years, and are not price-sensitive at your current volume, the switching cost may not be worth it. Mailgun's API is stable and the inbound routing system is genuinely powerful.
If you are evaluating both and the decision is not already made:
- Mailgun has no permanent free tier and charges extra for warmup.
- Transmit has a permanent free tier on BYOK, includes warmup on all plans, and offers a BYOK mode that keeps data in your own AWS account.
For new projects that want a developer-first email API with no trial expiry, Transmit is the more practical starting point.
Getting started
The free BYOK tier needs no credit card and does not expire. Connect your AWS account, verify your sending domain, and send your first email via the REST API or SMTP relay.
curl -X POST https://api.xmit.sh/email/send \
-H "Authorization: Bearer pm_live_xxxxx" \
-H "Content-Type: application/json" \
-d '{
"to": "user@example.com",
"from": "hello@yourapp.com",
"subject": "Hello from Transmit",
"html": "<p>Your first email sent via Transmit.</p>"
}'If you would rather skip the AWS setup, managed mode starts at $2/month with zero infrastructure to manage.
Set up your account and send your first email today.