Mailgun vs Amazon SES Cost at 1 Million Emails/Month
Compare Mailgun and Amazon SES pricing for 1 million emails/month. See real cost breakdowns, hidden fees, and how email verification cuts waste.
Is Mailgun or Amazon SES cheaper for 1 million emails a month?
You’re sending a million emails a month. That’s not a small operation — it’s a full-scale campaign or a large-scale transactional system. The cost per email might seem tiny, but when you multiply it across a million, even a $0.05 difference adds up fast. So which email service truly wins on price? Mailgun or Amazon SES?
It’s not as simple as picking the lower base rate. Yes, Amazon SES starts cheaper when you’re sending at scale. But Mailgun’s higher upfront cost comes with tools that cut long-term costs — by preventing bounces, reducing spam complaints, and protecting sender reputation. You’re not just paying for volume; you’re paying for deliverability, reliability, and control.
Key takeaways
- At 1 million emails per month, Amazon SES is cheaper per 1,000 emails, but Mailgun includes deliverability tools that reduce wasted sends and spam complaints.
- Mailgun charges $0.25 per 1,000 emails, but offers a 20% discount for volumes over 1 million, lowering its effective cost.
- Amazon SES has no built-in list hygiene or sender reputation monitoring; you must add these tools separately, increasing operational cost and complexity.
What’s the real cost difference between Mailgun and Amazon SES at 1M emails?
At 1 million emails per month, Amazon SES costs $100 ($0.10 per 1,000) while Mailgun charges $200 with volume discounts ($0.20 per 1,000). But that $100 savings assumes flawless list hygiene—zero bounces, no spam complaints, and zero invalid addresses. In reality, even clean lists at scale have error rates, making the cost difference less clear-cut. You’re not just paying for sends; you’re paying for deliverability.
Costs Break Down: What’s Behind the Numbers
Let’s look at the reality behind the pricing. Amazon SES charges only for outbound emails, which makes it appear cheaper. But it doesn’t verify addresses, track bounces, or warn of spam complaints—responsibility falls entirely on you. Mailgun includes tools to help maintain sender reputation, but you pay more. The difference isn’t just in price—it’s in the risk you’re shouldering.
| Feature | Amazon SES | Mailgun |
|---|---|---|
| Base cost (1M emails) | $100 | $200 (with volume discount) |
| Cost per 1,000 emails | $0.10 | $0.20 |
| Bounce handling | Manual via event notifications | Automated, with real-time alerts |
| Spam complaint monitoring | Event-based, no built-in filtering | Included in delivery reports |
| Address validation | No built-in verification | Integrates with verification tools |
Amazon SES treats every email as a transaction. It doesn’t care if the address exists, is spam-trap, or is a disposable inbox. If you send one million messages to a list with 10% invalid addresses, you’re effectively burning $100 on failed sends—without a built-in safety net.
What the numbers don’t show: the cost of poor deliverability
Deliverability isn’t just about cost per send. It’s about inbox placement, sender reputation, and long-term list health. A single spam complaint can hurt deliverability for months. Bounce rates above 2% may trigger throttling or blacklisting—especially with ESPs like AWS and GMail.
According to a Return Path’s email deliverability report, sender reputation degradation starts at just 0.1% spam complaints. A poorly maintained list can cost you 20–30% in inbox placement.
That’s where tools like MailTester’s bulk verification help. You can catch invalid addresses, disposable domains, and catch-all accounts before they hurt your reputation. A clean list reduces bounces and complaints—making the higher cost of Mailgun more justifiable, especially at scale.
Why email verification is the hidden cost saver for bulk sending
You’re paying for every email sent, even invalid ones. Sending to bad addresses inflates bounce rates, harms sender reputation, and wastes money on both Mailgun and Amazon SES. Email verification cuts those wastes before delivery—directly saving on infrastructure costs and reputation risk. Let’s break down how.
Bad addresses cost more than you think
Every email sent to an invalid or risky address counts as a failed attempt. On Mailgun, failed sends still show as "delivered" in your logs unless you verify the address upfront. Amazon SES charges you for every delivery attempt, regardless of outcome. That means your monthly bill includes hard bounces, soft bounces, and temporary failures—none of which reach an inbox.
High bounce rates degrade sender reputation. Both platforms monitor this closely. A reputation hit can lead to throttling, filtering, or outright blocking. The real cost isn’t just in delivery fees—it’s in reduced inbox placement and lost campaign visibility. This is especially damaging at scale, where even 1% of invalid addresses can cost thousands in wasted sends.
Verification stops waste before it starts
Email verification catches invalid, disposable, and risky addresses before they ever hit SMTP. This doesn’t just protect reputation—it reduces the volume of messages you’re sending to nowhere. You’re not just cutting bounce rates; you’re reducing the number of transactions your email service provider must process.
For example, a 100,000-recipient list with even a 5% invalid rate means 5,000 wasted send attempts. At $0.0001 per email on SES, that’s $500 in wasted cost. On Mailgun, 5,000 failed deliveries still count as failed attempts and hurt deliverability. Verification prevents this across the board.
You can test your existing list with MailTester’s bulk verification tool. It checks against real-time data for syntax, domain validity, catch-all detection, and disposable domains. With 98.9% accuracy, it identifies bad addresses before you send. The result? Smaller, cleaner lists and predictable billing.
For real-time checks, use the verification API to validate addresses during sign-up or data entry. This prevents bad data from entering your system in the first place.
According to RFC 6522, sender reputation is a key factor in inbox placement. Protecting it isn’t just best practice—it’s a direct cost saver. You can test the deliverability of any message using our inbox placement tool to see how your verified list performs in real inboxes.
No tool eliminates risk entirely, but email verification is the most effective way to reduce waste, preserve reputation, and lower the true cost per delivered email on both Mailgun and Amazon SES.
How to reduce your real sending cost with email verification
Verifying your email list before sending to Mailgun or Amazon SES cuts your effective cost per valid email by eliminating bounces. A 100-free-credit test lets you start verifying instantly. With 98.9% accuracy, MailTester’s bulk API filters out invalid, catch-all, role-based, and disposable addresses—dropping bounce rates from 5–10% down to under 1%. That means you pay only for deliverable mail.
Let’s break down the steps
- Test your list with 100 free verifications
Start with a real-world sample. Use MailTester’s free tier to validate a few hundred addresses. You’ll see which ones fail, which are risky, and which are solid. No credit card required. Test your list today. - Run bulk verification at scale using the API
For lists over 100k, use the MailTester bulk verification API. It checks millions of addresses in minutes. The results return in JSON: status (valid, invalid, catch-all, risky), and reason for each. This is the foundation of a clean, deliverable list. - Filter out high-risk email types before sending
Remove addresses flagged as:These account for most bounces. Filtering them reduces your send volume without losing real prospects.- catch-all – These accept any address but don’t deliver to anyone. You’ll waste sends.
- role-based – like admin@, support@, sales@. High bounce rates, unengaged recipients.
- disposable – temporary addresses used only during sign-up. No long-term value.
- Send only verified, valid emails to Mailgun or Amazon SES
By filtering out the noise, your bounce rate drops from 5–10% to under 1%. That directly improves sender reputation and inbox placement. According to Return Path’s email deliverability benchmarks, senders with bounce rates below 1% are far less likely to land in spam folders.
Why this cuts real cost
Mailgun and Amazon SES charge per 1,000 emails sent. If 10% of your list bounces, you’re paying for 10% ineffective delivers. With clean data, you send the same volume but with higher deliverability, less waste, and better engagement. RFC 5321 defines SMTP relay rules: if your bounce rate exceeds industry norms, you risk throttling or blocking.
The result? Fewer emails sent, lower costs, stronger sender reputation, and higher engagement. Credits never expire, so you can run verifications on demand without worrying about wasted spend.
What happens if you send without verification at 1 million emails?
You’ll face high bounce rates, spam complaints, and likely penalties from both Mailgun and Amazon SES. Sending to invalid, role, or spam-trap emails at scale damages sender reputation, triggers filtering, and can lead to throttling or suspension—especially if your bounce rate hits 10–20%. Without verification, you’re not just wasting money; you’re risking long-term deliverability.
Bounce Rates Trigger Platform Limits
- Amazon SES enforces strict sending limits based on reputation. Bounce rates above 10% can trigger throttling or temporary suspension—especially under the 1 million email threshold where volume amplifies risk.
- Mailgun dynamically adjusts sending speed based on deliverability signals. High bounce rates, even with valid-looking domains, may force a manual review or slow down delivery until your list quality improves.
- Role accounts like admin@, info@, or support@ often don’t receive mail. Sending to these can inflate spam complaints and degrade your reputation—both platforms detect and penalize mass sends to these addresses.
Spam Traps and Reputation Fallout
- Spam traps are inactive email addresses reused by anti-spam organizations to catch negligent senders. You cannot know they’re traps until you send to them. Once triggered, they cause immediate reputation damage.
- Both Mailgun and Amazon SES monitor complaint rates. A single complaint from a trap or invalid address can be enough to trigger investigation—especially if your total complaint rate exceeds 0.1% (a common threshold).
- Even if your emails don’t get blocked, poor list hygiene results in low inbox placement. Studies show that unverified lists see inbox placement drop by 20–30% compared to clean, verified ones.
- Fixing reputation after a penalty takes weeks, not days. During this time, even legitimate emails may end up in spam folders or be rejected outright.
It’s not about how many emails you send. It’s about how many of them should have been sent.
Verification is not a nice-to-have—it’s a requirement for large-scale sending. A clean list with bulk verification can reduce bounces and complaints to below 1%, keeping your sender reputation intact. Use real-time verification in your workflow to catch invalid addresses before they hurt your deliverability. Test actual inbox placement with inbox tests to see how your messages land in real inboxes. For automated, compliant workflows, integrate with your ESP via MailTester’s integrations. With 100 free credits waiting, pricing is flexible and non-expiring—no need to worry about unused batches. Your list quality is your delivery insurance. Don’t wait for the penalty.
How to get the best pricing by combining platforms and verification
You can cut your email delivery cost at 1 million emails per month by using Amazon SES for volume sends only after cleaning your list with real-time verification. Clean, verified addresses reduce bounces, improve sender reputation, and lower your effective cost per email—especially when paired with MailTester’s bulk or API checks to flag invalid, disposable, or risky addresses before they hit SES.
Why SES alone isn’t enough for large-scale efficiency
Amazon SES offers some of the lowest per-email rates in the market—around $0.0001 per email for high-volume senders. But that cost advantage erodes fast if you’re sending to invalid or dormant addresses. Bounces, complaints, and blocked IPs can hurt your sender reputation. If you're not verifying your list, you’re paying for emails that never land in an inbox.
Use verification to turn SES into a true cost optimizer
Let’s be clear: low cost is only valuable when messages actually deliver. Integrate MailTester’s real-time verification API or run full bulk checks before uploading your list to SES. This catches hard bounces, disposable domains, catch-alls, and role addresses—common culprits in poor deliverability. You’ll send fewer emails through SES, but all of them are high quality.
For example, a list with 20% invalid addresses means you’re spending on 200k non-deliverable messages. Once cleaned, that same list shrinks, and your total SES spend drops by that same 20%. With 1 million emails, that’s $20,000 saved. That’s not optimization—it’s waste reduction.
And because verified addresses don’t trigger complaints or bounces, your sender reputation stays strong. This helps you stay off blocklists and avoid throttling—issues that turn low-cost platforms into high-cost liabilities.
Inbox placement testing confirms how well your cleaned list performs in real inboxes. Combine that with metrics from tools like Spamhaus or MXToolbox to validate your list hygiene and sender reputation before sending at scale.
By verifying your list first, you’re not just saving money—you're building a sustainable delivery system. Use MailTester to clean, then SES to deliver. This hybrid approach leverages the lowest possible cost with the highest possible deliverability. The result? Reliable delivery at a fraction of the wasted cost.
For details on how pricing works with verified sends, see MailTester’s pricing. Unlike some competitors, unused credits never expire, so you can verify strategically without overcommitting.
Can you trust Mailgun’s higher price with lower deliverability?
Mailgun’s higher cost isn’t a flaw — it’s an investment in deliverability infrastructure that Amazon SES lacks out of the box. You pay more not for volume, but for tools that prevent your emails from landing in spam or being blocked entirely, especially when sending to new or cold lists. The real question isn’t price per email, but whether your messages actually reach inboxes.
Sender reputation and the hidden cost of cheap email
Mailgun includes sender reputation monitoring, detailed bounce analysis, and domain warm-up — features not built into Amazon SES. These aren’t marketing buzzwords; they’re core to staying out of spam traps. Without them, even the lowest-priced email service fails. A single IP reputation hit can tank deliverability for months. According to research from Return Path (now Validity), over 20% of legitimate email ends up in spam folders — not because the content is bad, but because sender reputation is poor.
Amazon SES requires you to manually manage reputation, which means setting up feedback loops, monitoring blacklists (like Spamhaus), and warming up domains yourself. That takes time, technical work, and expertise. Mailgun handles much of that for you. The cost reflects the operational burden you avoid.
Deliverability isn’t a function of price — it’s a function of trust
Deliverability starts with trust. ISPs like Gmail, Yahoo, and Outlook look at more than just authentication. They evaluate sender consistency, engagement rates, and bounce history. A new domain sending 1 million emails from SES on day one is a red flag. Mailgun’s domain warm-up process slowly increases volume and helps ISPs recognize your domain as legitimate.
Without trust, no platform — not even the cheapest — can deliver reliably. A 98.9% accuracy rate from tools like MailTester (https://mailtester.com/email-list-verify) shows that many “valid” addresses are actually risky or disposable — and that’s where reputation starts to erode before your first send.
Think of it like driving a luxury car with a busted clutch. The price is higher, but if the engine fails on the highway, the value proposition collapses. Mailgun isn’t cheaper — it’s more reliable for high-volume, cold sends. If you're doing 1 million emails a month, delivering a fraction of them to inboxes is worse than paying more upfront to get the rest.
For high-volume senders with cold lists, Mailgun’s cost is a direct trade-off for inbox placement. You’re not paying for speed — you’re paying for access.
Real-world savings: how verification offsets platform pricing differences
You can save $5,800 per month on a 1 million-email list by verifying addresses before sending — even if Mailgun’s fixed cost is $200, and Amazon SES charges $9,000 for the same volume. Without verification, 150,000 invalid emails cost $15,000. After removing bad addresses, you only pay $9,000 for valid sends. Verification turns pricing differences into a net gain.
The hidden cost of sending to bad addresses
Let’s say you’re sending to a list of 1 million emails. Industry data from Return Path shows that around 15% of addresses in a typical list are invalid or non-deliverable. That’s 150,000 dead ends — each one costing $0.10 on Amazon SES. At that rate, you’re wasting $15,000 on emails that never reach an inbox.
That’s not just money lost. It’s reputation risk. Every undeliverable email increases your sender score’s strain, especially on platforms like SES that track volume and bounce rates closely. A high bounce rate can trigger throttling or even blocklisting. You’re paying to hurt your own inbox placement.
How verification turns the equation around
By removing invalid emails first, you send only 900,000 messages. At $0.01 per email, that’s $9,000 on SES. That’s a $6,000 improvement in your monthly spend — and that’s before considering deliverability gains.
Now add Mailgun’s monthly fee of $200. The total cost is $9,200. But the savings still come in: you avoid $15,000 in failed sends. Net result? $5,800 in real savings per month. More importantly, your deliverability improves. Bounce rates drop. Sender reputation stays healthy.
Verification isn’t a cost — it’s a revenue protection tool. It turns what would’ve been a $15,000 expense into a $9,000 send cost with higher deliverability. The same logic applies whether you use SES, SendGrid, or even Mailgun alone. The real savings come from knowing who’s actually on the other end of the email.
To test this yourself, run your list through a real-time verification process. Use our API for bulk verification or try our inbox placement tester to see how well your messages land in real inboxes. Our accuracy is 98.9%, and you can get 100 free verifications to start.
Mailgun vs SES: feature trade-offs beyond price
You’re not just picking between two email services — you’re choosing between a developer-friendly platform with built-in deliverability intelligence and a lean, AWS-integrated engine that expects you to bring your own tools. Mailgun gives you real-time inbox placement testing, sender reputation alerts, and an in-app AI assistant to explain issues. SES requires you to layer on external tools for analytics, list cleaning, and reputation monitoring. The cost difference narrows at scale, but the hidden operational effort doesn’t — not unless you build it in.
Core functionality: what’s built-in vs what you must add
Let’s cut through the noise. Mailgun includes inbox testing, real-time analytics, and automated sender reputation alerts. These aren’t add-ons — they’re part of the core product. If your emails start hitting spam folders, Mailgun tells you why. Amazon SES does not. It gives you raw SMTP access, not insight.
You can simulate inbox placement with tools like Mail-Tester or MxToolbox, but you’ll need an external service — like MailTester’s inbox placement tool — to test at scale and receive actionable feedback. And where Mailgun shows you bounce patterns and invalid address rates in real time, SES leaves that to your own logging pipeline.
| Feature | Mailgun | Amazon SES |
|---|---|---|
| Real-time inbox placement testing | Yes — built-in, via API | No — requires third-party integration |
| Sender reputation monitoring | Yes — automated alerts for blacklisting and abuse reports | No — no built-in reputation tracking |
| API response feedback (deliverability signals) | Yes — includes delivery status, open rates, bounces | Limited — only delivery success/failure and bounce type |
| List hygiene tools | Integrated with verification API | No — must use external services like MailTester’s bulk verification |
| AI-assisted deliverability help | Yes — in-app assistant explains why emails fail | No — no in-product guidance |
| AWS ecosystem integration | Optional — API works across cloud providers | Native — deep integration with S3, Lambda, CloudWatch |
Who should care about these trade-offs?
If you're building an app with 1M emails/month and already live in AWS, SES’s deep integration with Lambda and S3 can reduce infrastructure overhead. But every time you need to debug a deliverability spike, you’ll be stitching together tools: AWS CloudWatch logs, bounce parsing, a third-party deliverability analyzer, and a separate list-cleaning service.
Mailgun, by contrast, offers a single interface where you can see delivery success, test inbox placement, verify addresses before sending, and get help diagnosing why something failed. That reduces the time from “Why isn’t anyone opening my email?” to “Ah — SPF is missing.” And that matters when you’re shipping 1M messages a month.
Let’s be clear: SES is cheaper for raw transactions. But Mailgun’s built-in diagnostics, automated warnings, and developer UX turn deliverability from a reactive problem into a manageable one. You don’t just save money by avoiding bounces — you save time. And time scales with volume.
Final verdict: which platform is cheaper at scale?
Amazon SES has a lower base cost per email, but only if your list is already clean and deliverable. Any significant number of invalid or risky addresses increases bounce rates, degrades sender reputation, and can trigger throttling or blocking.
Mailgun’s higher price is offset by built-in deliverability safeguards, automated list hygiene, and transparent reporting. These features reduce risk, lower long-term costs, and improve inbox placement—especially at scale.
Neither platform delivers true cost efficiency on its own if your list contains errors. The real savings come from using either platform with verified emails. Cleaning your list upfront is the only way to ensure you’re not paying for failed deliveries.
Sources
- In their first week of sending, warmed-up inboxes achieve 91.3% inbox placement versus 68.4% for unwarmed inboxes — a 22.9-point gap, based on data from 833K+ managed inboxes. — MailDeck Cold Email Warm-Up Study (833K+ inboxes) (2026)
- Sending from a domain with at least three months of history improves inbox placement by 28% compared with a brand-new domain. — Woodpecker data (via WarmForge deliverability statistics) (2025)
Keep reading
- Sender reputation, IP warm-up and sending infrastructure (complete guide)
- Warm-Up 10K Per Day: Daily Volume Doubling vs 50% Ramp
- SendGrid Shared IP Going to Spam? What Are the Fixes
- Signs Your Shared IP Is Hurting Your Deliverability
- MailReach vs WarmBox: Which Warm-Up Tool Improves Inbox Placement More?
Ready to put this into practice? MailTester verifies emails with 98.9% accuracy — start with 100 free verifications.
Frequently asked questions
Is Amazon SES cheaper than Mailgun for 1 million emails?
Yes, on paper — Amazon SES costs $100 for 1M emails, while Mailgun costs $200 after discount. But real costs depend on list quality and deliverability.
Does Mailgun charge more for sending to invalid emails?
Yes — every email sent, including invalid ones, counts toward your quota. Verification prevents wasted sends and reduces cost.
Can I use MailTester with Amazon SES?
Yes — use MailTester to verify your list before uploading it to Amazon SES. This reduces bounces and improves inbox placement.
How does email verification reduce sending costs?
By removing invalid, role, and disposable email addresses, you cut down on failed sends, bounces, and spam complaints — all of which degrade reputation and waste money.
Is Mailgun worth the higher price for bulk sending?
Yes, if deliverability matters. Mailgun includes sender reputation monitoring, inbox testing, and cleaner analytics — reducing long-term risk and cost.
What happens if my list has 20% invalid emails?
You’ll send 200K emails to invalid addresses — likely triggering rate limits, reputation penalties, and higher cost per valid recipient.
Does Amazon SES flag high bounce rates?
Yes — SES imposes sending limits or suspends accounts after too many hard bounces or complaints.
How accurate is MailTester’s email verification?
98.9% accuracy — it identifies valid, invalid, catch-all, and risky addresses with high precision, supported by real-time SMTP checks.
Can I integrate MailTester with Mailgun or SES?
Yes — MailTester works with Mailgun, Amazon SES, SendGrid, HubSpot, Klaviyo, and Mailchimp through direct API integrations.
Do purchased MailTester credits expire?
No — all purchased credits never expire, allowing you to verify lists on a schedule without time pressure.