Amazon SES vs Mailgun is a choice between raw infrastructure and a developer product. SES charges $0.10 per 1,000 emails as of October 2026, so 100,000 emails cost about $10. Mailgun, now part of Sinch, charges $90 a month for 100,000 on its Scale plan, but that includes a dedicated IP, 30 days of logs, inbound routing and a dashboard your support team can use. If you have AWS engineers and care most about the bill, SES wins. If you want sending and receiving working on day one, Mailgun is the easier start.
SES prices below come from AWS's own Amazon SES pricing page, and Mailgun's from Mailgun's pricing page. Mailgun publishes prices only up to 100,000 emails a month; above that it quotes. Confirm both before deciding.
Amazon SES vs Mailgun at a glance
| Amazon SES | Mailgun | |
|---|---|---|
| Pricing model | $0.10 per 1,000 + $0.12 per GB of attachments, no minimum | Monthly plans up to 100k, quote above |
| Free option | Up to $200 AWS Free Tier credits for new AWS customers | 100 emails/day |
| Starting state | Sandbox: verified recipients only, 200/day, 1/second | Free plan limits |
| Dedicated IP | $24.95/IP/month, or managed: $15/month + $0.08 per 1,000 | One included on Scale; extra IPs $59/month |
| Logs | Console metrics; searchable logs you build from events | 1 day (Basic), 5 days (Foundation), 30 days (Scale) |
| Suppression | Account-level list by default; app integration is yours | Built in |
| Inbound | Receipt rules to S3, SNS or Lambda; $0.10 per 1,000 | Inbound routes: 5 on Basic, full from Foundation |
| Account rules | Published: review at 5% bounces or 0.1% complaints | Mailgun's own policies |
| Best fit | AWS-native teams, high volume, cost first | Teams that send and receive and want a finished product |
Who each is for
Amazon SES suits teams that already run on AWS, send a lot of email, and are happy to assemble the pieces: IAM, SNS or event publishing, CloudWatch, and some code of their own. It's the cheapest way to send at volume from a large provider.
Mailgun suits developers who want an API, SMTP, logs and inbound routing in one place without building them. It's a common choice for apps that both send and receive mail, such as support tools that turn replies into tickets.
How much do SES and Mailgun cost?
Prices as of October 2026. SES on shared IPs is $0.10 per 1,000; the dedicated column adds one standard IP at $24.95. Mailgun's Scale plan includes one dedicated IP, so its shared and dedicated prices are the same.
| Monthly emails | SES, shared IPs | SES + 1 dedicated IP | Mailgun (Scale, 1 IP included) |
|---|---|---|---|
| 100,000 | $10 | $34.95 | $90 |
| 250,000 | $25 | $49.95 | Quote; at most about $255 |
| 500,000 | $50 | $74.95 | Quote; at most about $530 |
| 1,000,000 | $100 | $124.95 | Quote; at most about $1,080 |
The Mailgun figures above 100,000 are a ceiling, not a price: Scale's $90 plus its published overage of $1.10 per 1,000. Mailgun doesn't publish a price for these volumes, and a sales quote may come in lower. Even so, SES is cheaper at every volume we can compare. If you'd rather have SES pick and scale IPs for you, managed dedicated IPs cost $33 at 100k, $60 at 250k, $105 at 500k and $195 at 1M. Our Amazon SES pricing breakdown covers every SES charge, including attachment data.
Below 100,000, Mailgun's smaller plans are Basic at $15 for 10,000 and Foundation at $35 for 50,000.
What you build on SES that Mailgun includes
SES isn't bare. Accounts created since November 2019 suppress hard bounces and complaints automatically, standard dedicated IPs warm up on their own over 45 days, and AWS sells deliverability dashboards for $0.07 per 1,000 emails. But a working sending system on SES usually means you also handle:
- Event handling. Subscribing to bounce and complaint events through SNS or event publishing and updating your own users and lists.
- Logs. Storing events somewhere searchable so support can answer "did my email arrive?" Mailgun keeps them for you, for 30 days on Scale.
- Alerts and pauses. CloudWatch alarms well below the 5% bounce and 0.1% complaint levels where AWS reviews an account, and your own logic to stop a bad send.
- Gmail complaints. Gmail doesn't send complaint data to SES, so you watch Google Postmaster Tools separately.
- Blocklists and DNS. SES doesn't delist you from blocklists; you watch and request delisting yourself.
- Account admin. Leaving the sandbox (AWS responds within 96 hours), quota increases per Region, and responding to reviews.
Deliverability and IP options
Both start you on shared IPs. Mailgun moves you to a dedicated IP on Scale, with extra IPs at $59 a month and dedicated IP pools.
SES gives you two dedicated options. A standard dedicated IP costs $24.95 a month, is requested through an AWS Support case, and warms up automatically on a fixed 45-day schedule unless you turn that off. Managed dedicated IPs cost $15 a month plus $0.08 per 1,000 emails; SES decides how many IPs you need and warms them per mailbox provider. AWS's own advice is to stay on shared IPs unless you send large volumes regularly and predictably. Our Amazon SES dedicated IP guide compares the two.
On either provider, your reputation is yours. Clean lists, authentication and steady volume matter more than the vendor.
Inbound email
This is Mailgun's clearest advantage. Its inbound routes match incoming mail by address or rule and forward it or post it to your app. As of October 2026, the Free plan has one route, Basic five, and Foundation and Scale full inbound routing.
SES can receive mail too, through receipt rules that store messages in S3 or trigger SNS or Lambda, at $0.10 per 1,000 inbound emails plus $0.09 per 1,000 incoming 256KB chunks. It's cheap, but parsing and routing the message is your code. If inbound is central to your product, Mailgun saves real work.
Which should you choose?
Choose Amazon SES if:
- Your bill matters most and you send well above 100,000 a month.
- You already run on AWS and have engineers comfortable with IAM, SNS and CloudWatch.
- You want published prices at every volume rather than a sales quote.
Choose Mailgun if:
- You receive as well as send and want inbound routing without writing it.
- You want logs and suppression your support team can search on day one.
- You send around 100,000 a month or less, where the dollar gap is modest.
If you're also weighing a transactional specialist, see Amazon SES vs Postmark and Amazon SES vs SendGrid.
A third option between the two
If SES is too much to build and Mailgun's pricing above 100k is too uncertain, managed sending priced per email sits between them. OwnMailServer charges $0.20 per 1,000 emails, with a $10 monthly minimum that includes 50,000 emails and a $10 one-time setup fee. That's $20 at 100k on our shared pool, then $50 at 250k, $100 at 500k and $200 at 1M with a dedicated IP, included from 200,000 a month. Warm-up adapts to each day's results, and monitoring, bounce and complaint suppression and automatic pauses are included. You send through a Resend-style API or SMTP.
To be clear on cost: we're about what SES costs with a dedicated IP at 250k and more than SES above that; the difference is that the managed parts are included. We're a sending service, so if you rely on Mailgun's inbound routing, check with us before switching. We're in early access and vet every signup. Our Mailgun alternative and Amazon SES alternative pages go deeper, and the email cost calculator runs your own volume.
If that middle option fits, our pay-as-you-go pricing has the details.