Sending 10 million emails a month costs roughly $1,000 on Amazon SES plus $300 to $400 in dedicated IPs, $3,000 to $6,000 a month on a Mailgun, SendGrid or SparkPost enterprise contract, and $10,000 or more on Klaviyo with a 1 million contact list. Two dedicated SMTP servers rated for 200,000 a day each are a one-time build plus $400 to $800 a month in hosting. The spread is over 10x, and at this volume every relay price is negotiated, not listed.
10 million a month is about 333,000 a day. That is past the largest tier any dedicated provider rates and past any published relay plan. I've run both routes at this scale. Here is the arithmetic.
Cost to send 10 million emails a month by provider
| Provider | Monthly cost at 10M | Pricing model | Dedicated IPs | Annual commit |
|---|---|---|---|---|
| Amazon SES | ~$1,000 + $300-400 IPs | $0.10 per 1,000, pay as you go | $24.95 each, 12-16 needed | None |
| SparkPost | ~$3,000-4,500, negotiated | $0.30-0.45 per 1,000 | Block of 8-12 included | 12 months |
| Mailgun Enterprise | ~$3,500-5,500, negotiated | $0.35-0.55 per 1,000 | Block included | 12 months |
| SendGrid Premier | ~$3,500-6,000, negotiated | $0.35-0.60 per 1,000 | Block included | 12 months |
| Brevo Enterprise | ~$4,000-6,000, negotiated | Per email plus seats | Paid add-on | 12 months |
| Mailchimp Premium | ~$8,000-10,000 | Per contact, 1M list | Not offered | Monthly |
| Klaviyo | ~$10,000-14,000+ | Per contact, 1M list | Paid add-on | Monthly or annual |
| Dedicated SMTP, 2 top-tier units | one-time build + $400-800 hosting | Flat | 30 yours | None |
The SES line is the only one you can check without a sales call. The Amazon SES pricing page lists $0.10 per 1,000 outbound on pay as you go and $24.95 per dedicated IP per month. SES also sells Essentials, Pro and Enterprise plans at $0.16 to $0.23 per 1,000 with support and managed IPs, so the honest SES range at 10 million is $1,000 to $2,300 in send fees.
Every other row is a range from real quotes.
Why enterprise tiers are negotiated, not listed
Above about 5 million a month the pricing page says "contact sales" and what comes back has four moving parts.
| Contract element | What it typically looks like at 10M/month | Why the vendor does it |
|---|---|---|
| Per-1,000 rate | $0.30 to $0.60, down from $0.80-1.00 at 1M | Volume discount tied to the commit |
| Annual commit | 12 months, billed monthly, 100M-120M emails | Guarantees their revenue, locks you in |
| Dedicated IP block | 8 to 16 IPs, warmed by the vendor | Isolates you from their shared pool |
| Bundled services | Deliverability consultant, quarterly reviews, priority support | Justifies the margin over SES |
| Overage | $0.50 to $1.00 per 1,000 above commit | Penalises growth you did not forecast |
The per-1,000 rate is the number everyone negotiates. The commit is the number that matters. A $0.40 rate on a 120 million email commit is $48,000 whether you send 10 million a month or 7 million. If your business is seasonal, the commit is sized to your peak and you pay for the quiet months.
Two points move real money. Ask for the IP block to be counted as warmed on day one, which saves 6 to 8 weeks of ramp. Get the overage rate in writing at or below the base rate, since the default is often double.
The 12-month totals
Monthly figures hide the commit. Here is the year.
| Route | Year one | Year two | What is in the number |
|---|---|---|---|
| Amazon SES, pay as you go | ~$21,000 | ~$21,000 | $1,000 send + $350 IPs + ~$5,000 engineering time |
| SparkPost enterprise | ~$45,000 | ~$45,000 | Contract, IP block, support |
| Mailgun Enterprise | ~$54,000 | ~$54,000 | Contract, validation add-on |
| SendGrid Premier | ~$57,000 | ~$57,000 | Contract, IP block, expert services |
| Klaviyo, 1M contacts | ~$144,000 | ~$160,000+ | List growth pushes the tier up |
| Dedicated SMTP, 2 top-tier units | one-time build + ~$7,200 hosting | ~$7,200 hosting | 2 servers, 30 IPs, no per-email fee |
The engineering line on SES is larger than at 5 million a month because a 5% bounce day is now 16,000 addresses and SNS event volumes run into the hundreds of thousands a day. $5,000 a year is about 100 hours.
The Klaviyo row is contact-based pricing at 1 million stored addresses. Cheaper than Klaviyo walks through the alternatives.
What 10 million a month needs in architecture
This is where 10 million stops being a bigger version of 5 million. At 5 million one top-tier server with 15 IPs covers the daily average. At 10 million the average is 333,000, 1.67x that server's rated capacity, so you are into two units.
| Component | Minimum at 10M/month | Comfortable | Why |
|---|---|---|---|
| Servers | 2 | 2 plus a warm standby | 333K/day exceeds one 200K/day unit; redundancy |
| Dedicated IPs | 12 | 14-16 | Per-IP hourly throttles at Gmail and Microsoft |
| MTA | Postfix, tuned | PowerMTA or Haraka | Per-domain rate control and IP rotation built in |
| Throughput | 50 msg/sec | 100-150 msg/sec | A 2M campaign in 4 hours needs ~140/sec |
| Queue depth | 1M messages | 2-3M | Two campaigns overlapping is normal at this size |
| Bounce processing | Real-time, feeds suppression | Real-time plus daily reconciliation | 5% of 333K is 16,000 addresses a day |
| Sending domains | 3 subdomains | 4-6, sharded by stream | Marketing, transactional, notifications, per-brand |
| Feedback loops | Microsoft JMRP, Yahoo CFL | Plus Postmaster Tools API pulled hourly | Complaints arrive per IP, act same day |
| Monitoring | Alerting on 4xx spikes | Per-IP, per-domain dashboards | A throttled IP at 3am costs 24,000 emails |
Postfix will do 10 million a month, but you will be writing transport maps and policy scripts to get per-receiver rate limits and IP rotation. PowerMTA has both as first-class config at a licence cost of several hundred dollars a month. Haraka gives you the same control in JavaScript plugins with no licence. The trade-offs are in Postfix vs Exim vs Haraka.
The two-server split is usually marketing on one box, transactional on the other, so a throttled marketing IP cannot slow down an order confirmation. The 100K a day infrastructure guide is the per-server baseline; 10 million a month is that design times two, with a shared suppression store.
Ops staffing at this scale
At 10 million a month the person is a bigger line than the server. Budget 0.5 to 1 FTE on any route.
| Task | SES | Enterprise relay | Dedicated, 2 servers |
|---|---|---|---|
| Initial setup | 80-120 hrs | 10-20 hrs | included in a managed build |
| Warm-up, 14 IPs | 6-8 weeks, yours | vendor-warmed block | plan included, 6-8 weeks |
| Bounce and suppression | build it, 40-60 hrs | included, review weekly | configured, reconcile weekly |
| Weekly monitoring | 4-6 hrs | 2-4 hrs | 4-6 hrs |
| MTA patching and queue health | n/a | n/a | 2-4 hrs a month |
| Incident response | you, AWS support tier | vendor SLA, 1-4 hr response | you, with runbooks |
| Vendor management | quota increase requests | quarterly reviews, renewal | none |
Half an FTE is about 1,000 hours a year, which at $60 to $100 loaded is $60,000 to $100,000. That is larger than every infrastructure line except Klaviyo. It is why a $50,000 relay contract can be right for a team with no one to own mail, and why a dedicated build can save $50,000 a year for a team that already does.
Deliverability at 10 million a month
The rules do not change with volume. The margin does. Google's sender guidelines require SPF, DKIM and DMARC over 5,000 a day, one-click unsubscribe and a spam rate under 0.3%, with 0.1% as the level to actually hold. At 10 million a month, 0.1% is 10,000 complaints. One segment of 200,000 addresses at a 2% complaint rate uses up 40% of that budget in an afternoon.
Three things bite harder here.
Per-IP hourly limits. Gmail and Microsoft throttle each IP hourly on its reputation. A warmed IP with a clean record moves 20,000 to 40,000 a day into Gmail without deferrals. Fourteen IPs at 24,000 a day each is the comfortable shape. Four IPs at 83,000 each is a deferral queue. The per-IP figures are in how many emails per day per IP.
Domain sharding. A single sending subdomain carries all your risk. Split by stream so a marketing complaint spike cannot touch transactional reputation. Each subdomain needs its own DKIM selector, DMARC reporting address and warm-up. See subdomain vs root domain.
Feedback-loop processing. Microsoft JMRP and Yahoo CFL deliver complaint reports per IP, and at 333,000 a day those arrive in the hundreds. They have to be parsed into suppression the same day, automatically. The mechanics are in what is a feedback loop.
Break-even on a two-server build
| Compared against | Monthly cost | Dedicated ongoing | Monthly saving | Payback on two builds |
|---|---|---|---|---|
| Amazon SES + IPs + eng time | ~$1,750 | ~$600 hosting | ~$1,150 | 3-5 months |
| SparkPost enterprise | ~$3,750 | ~$600 | ~$3,150 | 1-2 months |
| Mailgun Enterprise | ~$4,500 | ~$600 | ~$3,900 | 1-2 months |
| SendGrid Premier | ~$4,750 | ~$600 | ~$4,150 | 1-2 months |
| Klaviyo, 1M contacts | ~$12,000 | ~$600 + self-hosted software | ~$11,400 | under 1 month |
The dedicated ongoing figure is hosting for two servers sized for 200,000 a day each, at $200 to $400 a month per box. No per-email line, no commit, no overage, no renewal.
The caveat is the staffing table. The saving exists only if someone owns the servers. If the plan is to build them and forget them, take the relay contract. A neglected MTA at 10 million a month damages a domain faster than any vendor would.
Who should stay on SES
SES is still the cheapest recurring bill at 10 million a month, and the right choice when:
- You already run event pipelines on AWS. If SNS to Lambda to a suppression table is a pattern your team has built, the $5,000 engineering estimate is mostly already spent.
- Your mail is transactional. Receipts and password resets earn near-zero complaints, so reputation risk barely applies.
- Volume swings by 3x or more. A 3 million month costs $300. Two dedicated servers cost the same in a quiet month as a busy one, and a commit bills you for volume you did not send.
- You can live with the quota model. At 333,000 a day you will be requesting quota increases on a schedule.
SES is the wrong call when marketing is most of the volume, the list is old, or an account review would stop revenue. SES pauses sending at a 5% bounce or 0.1% complaint rate with little warning. The Amazon SES vs dedicated SMTP server comparison covers the operating differences.
Which route fits at 10 million a month
SES if the engineering exists and the mail is mostly transactional.
An enterprise relay contract if $45,000 to $60,000 a year is easier to approve than a build project and nobody on the team will own mail.
Two dedicated servers if marketing is most of what you send and someone will own warm-up, sharding and feedback loops.
A contact-priced platform only if the CRM and automation are what you are buying. A dedicated pair with MailWizz or Mautic on top keeps the automation for a fraction of $120,000-plus a year.
For the tier below, 5 million a month is one top-tier server and the same method; 2 million a month is a single mid-tier build.
How BulkEmailSetup helps
We build the dedicated route as a one-time job sized for your peak day: your own servers, your own IPs, full SPF/DKIM/DMARC/PTR configuration on every sharded subdomain, MTA tuning for 100-plus messages a second, bounce and feedback-loop handling wired into a shared suppression store, and a parallel warm-up plan for the full IP set. At 10 million a month that is two top-tier units, one per stream, with a combined 30 IPs and 400,000 a day of rated capacity.
Basic starts at $549 one-time, covering 1 SMTP server, 3 dedicated IPs, 25,000 emails/day and unlimited contacts. Higher tiers scale to 15 IPs and 200,000 emails/day per unit, and 10 million a month is two of those. See pricing for the full breakdown.
Frequently asked questions
How much does it cost to send 10 million emails a month?
Roughly $1,000 to $12,000 a month depending on the route. Amazon SES bills about $1,000 in send fees plus $300 to $400 for 12 to 16 dedicated IPs. Mailgun, SendGrid and SparkPost enterprise contracts land between $3,000 and $6,000 a month on an annual commit. Klaviyo at 1 million contacts is $10,000 or more. Two dedicated SMTP servers cost a one-time build plus $400 to $800 a month in hosting.
Why do SendGrid and Mailgun not publish a price for 10 million emails?
Above roughly 5 million a month every major relay moves you to a sales-led enterprise tier. The per-1,000 rate is negotiated, usually $0.30 to $0.60, in exchange for a 12-month commit, and the contract bundles dedicated IP blocks, a deliverability consultant and a support SLA. The list price you see for 1 million a month has nothing to do with what you will pay at 10.
How many dedicated IPs do I need for 10 million emails a month?
Plan on 12 to 16 warmed IPs. 333,000 a day spread over 14 IPs is about 24,000 per IP per day, which sits inside the hourly throttles Gmail and Microsoft apply to a warmed IP with a clean record. Fewer than 10 IPs means each one is pushing 35,000-plus a day and you will see deferrals on every campaign peak.
Can one server send 10 million emails a month?
Technically yes, since a tuned PowerMTA or Postfix box does 100-plus messages a second, which is 333,000 in under an hour. In practice no, because you want two boxes for redundancy and for splitting marketing from transactional. The top BulkEmailSetup tier is rated at 200,000 a day, so 10 million a month is two units, not one.
Do I need a full-time person to run 10 million emails a month?
Budget half to one full-time engineer whichever route you take. On SES that person builds and maintains bounce processing, suppression and reputation alerts. On a relay contract they own list hygiene, feedback-loop review and the vendor relationship. On dedicated servers they own warm-up, queue monitoring and MTA patching. The hours move around, they do not disappear.
When does a dedicated build break even against a SendGrid enterprise contract?
In the first one to two months. A SendGrid or Mailgun enterprise contract at 10 million a month is $36,000 to $72,000 a year. Two dedicated servers run $400 to $800 a month in hosting after the one-time build, so the annual saving is typically $30,000 to $60,000 before you count the engineer either route needs.



