0 min left
Best SMTP Setup for 1M Emails a Day, Compared

Best SMTP Setup for 1M Emails a Day, Compared

BulkEmailSetup
BulkEmailSetup Team
October 10, 2026
11 min read

At 1 million emails a day, which is 30 million a month, three routes exist: Amazon SES at roughly $3,000 a month in send fees plus $500 to $1,000 in dedicated IPs, a negotiated enterprise contract with SendGrid, Mailgun or Netcore at $9,000 to $18,000 a month, or a self-run fleet of five dedicated servers at a one-time build plus $1,000 to $2,000 a month in hosting. All three need 20 to 40 warmed IPs, 10 to 14 weeks of staged warm-up, and 1 to 2 full-time engineers. The infrastructure bill is no longer the biggest line. Payroll is.

No relay publishes a price at this volume, and the architecture is a fleet, not a server. One tier down, the best SMTP for 100K a day is the comparison that applies.

The three routes at 1M a day

RouteMonthly costIPsSetupGrowth cost
Amazon SES, pay as you go~$3,000 + $500-1,000 IPs20-40 at $24.95 each6-10 weeks engineeringlinear per email
SendGrid Premier$10,000-18,000, negotiatedblock included, vendor-warmed2-4 weekstier step
Mailgun Enterprise$9,000-16,000, negotiatedblock included2-4 weekstier step
Netcore or SparkPost enterprise$8,000-14,000, negotiatedblock included2-4 weekstier step
Self-run fleet, 5 servers$1,000-2,000 hosting only20-40, yours10-14 weeks with warm-upflat

Two facts drive the decision. Relay contracts cost 5 to 10 times the hosting bill of a fleet, and every route needs the same engineers anyway.

The SES numbers are the only public ones. Amazon lists $0.10 per 1,000 outbound on pay as you go and $0.16 per 1,000 on Essentials for the first 10 million a month, with standard dedicated IPs at $24.95 each (SES pricing). 30 million at $0.10 is $3,000, thirty IPs another $748. Call it $3,750 a month before a line of your own code exists.

Throughput maths at 1 million a day

The daily headline is not what you build against, and the gap gets worse as volume climbs.

MeasureFigureWhat it means for the build
Per day1,000,000the headline
Per hour, averaged~42,000only if you trickle all day
Per second, averaged~12a single Postfix box does this idle
Realistic peak rate150-250/seca 1M blast clears in 70-110 minutes

Twelve a second sounds like nothing. It is nothing. A single 4 vCPU box does 12 a second while running a backup. The number that sizes the fleet is 200 a second sustained with a 3 million message queue behind it, which is four to six MTAs behind a shared broker, because one machine carrying that load has no redundancy and no maintenance window.

How many IPs, and why 20 to 40

Daily volumeWarmed IPsPer-IP daily loadNotes
100,0003-425,000-33,000one IP can be lost
1,000,000, tight2050,000throttles on every peak
1,000,000, comfortable30~33,000the shape I would buy
1,000,000, heavy Microsoft mix4025,000Microsoft throttles hardest

A warmed IP with a clean record carries 25,000 to 35,000 a day across a mixed Gmail, Microsoft and Yahoo audience before deferrals start. That range does not move with your volume, so IP count scales linearly while nothing else does. Per-receiver detail is in how many emails per day per IP.

Your receiver mix decides where in the band you sit. A B2C list that is 70% Gmail runs at 30 IPs. A B2B list heavy on Microsoft 365 needs 40, since Microsoft applies the tightest per-IP hourly throttles and recovers slowest.

Headroom is the other reason. At 30 IPs, losing two to a Spamhaus CSS listing costs 7% of capacity. At 20 IPs it pushes the remaining 18 to 55,000 a day each, the pressure that causes the next listing.

The architecture: a fleet, not a server

At 100,000 a day you buy a server. At 1 million you build a system with parts that do not exist one tier down.

ComponentMinimum at 1M/dayComfortableWhy
MTA nodes45-6 plus a standby200/sec peak, plus patching without downtime
Dedicated IPs2030-40per-IP hourly throttles at Gmail and Microsoft
Injection queue1 shared brokerper-stream prioritycampaigns must not starve transactional
Suppression store1 shared databasereplicated, fast lookupevery node sees a bounce instantly
Sending domains4 subdomains6-10, sharded by streamisolate marketing from transactional
Bounce infrastructurededicated return-path hostseparate MX and parser fleet2% of 1M is 20,000 bounces a day
Feedback loopsMicrosoft JMRP, Yahoo CFLplus Postmaster Tools API hourlycomplaints arrive per IP, act same day
Monitoring4xx spike alertingper-IP and per-domain dashboardsa throttled IP overnight costs 30,000 sends

Three of those are what teams skip and then regret.

Dedicated bounce infrastructure. A 2% bounce rate is 20,000 bounce messages a day. The return-path domain needs its own MX, its own host and a parser writing into suppression within seconds. Run bounces back into the sending boxes and a bounce storm competes with outbound delivery for CPU.

Domain sharding. One subdomain carrying 30 million a month puts all your reputation in one basket. Split marketing, transactional, notifications and per-brand streams, each with its own DKIM selector and DMARC reporting address. See subdomain vs root domain.

Per-receiver rate control. A global send rate hits Gmail's, Microsoft's and Yahoo's separate walls at once. You need per-destination connection limits, message rates and adaptive backoff on 4xx: transport maps in Postfix, native config in PowerMTA or KumoMTA. A 1 million a day fleet is the 100K a day design times five with a shared suppression layer.

The warm-up problem nobody plans for

You cannot warm 30 IPs in 8 weeks from zero, and it is an audience limit rather than a throughput limit. Warm-up traffic has to be opened to build reputation, and your engaged segment is finite. Splitting week-one volume across 30 cold IPs gives each one a few hundred thin, low-engagement sends a day, which teaches receivers nothing good about any of them.

StageWeeksIPs liveDaily totalWhat you send
11-36-85,000 to 60,000most engaged 10% of the list only
24-614-1660,000 to 250,000engaged 30%, first full campaigns
37-1022-26250,000 to 600,000broaden segments, watch Microsoft
411-1430600,000 to 1,000,000full list, peak-day rehearsal

Staged introduction is the fix. Bring 6 to 8 IPs to full health, then add the next group while the warmed ones carry real traffic and take the reputation load. Anyone quoting 6 weeks for 30 cold IPs has not done it. Freeze the ramp on any deferral spike, and never pad warm-up volume with unengaged addresses to hit the day's number. The per-IP schedule is at our IP warm-up schedule.

The one real advantage of an enterprise contract is skipping this. Negotiate the IP block as vendor-warmed on day one and you save three months. Get it in the contract, not the sales call.

Ops staffing, the biggest line item

FunctionSESEnterprise contractSelf-run fleet
Initial build300-500 hrs40-80 hrsincluded in a managed build
Warm-up, 30 IPs10-14 weeks, yoursvendor-warmed if negotiated10-14 weeks, planned
Bounce and suppressionbuild it, 150-250 hrsincludedconfigured, reconcile weekly
Event ingestion, 30M/monthyour SNS pipelinevendor dashboardsyour logs, your pipeline
Weekly monitoring8-12 hrs4-8 hrs8-12 hrs
MTA patching, queue healthnot applicablenot applicable8-12 hrs a month
Headcount1.5-2 FTE1 FTE1-1.5 FTE

One and a half FTE at a $70,000 to $120,000 loaded cost is $105,000 to $180,000 a year, larger than the SES bill and comparable to a SendGrid contract. Infrastructure is no longer what you are optimising.

That is the honest argument for a relay contract. If your team is one person who also owns three other systems, $150,000 a year buys a vendor's deliverability team and an SLA. A fleet only saves money when someone owns the fleet.

The 12-month cost, all three routes

RouteYear 1Year 2Not in the number
Amazon SES, pay as you go, 30 IPs~$45,000~$45,000300-500 hrs build, 1.5-2 FTE ongoing
Netcore or SparkPost enterprise~$96,000-168,000commit renegotiatedoverage, validation add-ons
Mailgun Enterprise~$108,000-192,000rises with volumeoverage at up to 2x base rate
SendGrid Premier~$120,000-216,000rises with volumeexpert services billed separately
Self-run fleet, 5 servers, 30 IPsbuild + ~$18,000 hosting~$18,000 hosting1-1.5 FTE, 10-14 week warm-up

Over 10x between cheapest and most expensive, and none of it is about email quality. It is about who does the work and who carries the risk.

Two contract details move real money. The annual commit is sized to your peak, so a seasonal business pays peak rates through its quiet months. And overage defaults to double the base rate on most enterprise paper, punishing the exact growth that got you here. Negotiate overage at or below base, in writing. What 10 million a month costs covers the same mechanics one tier down.

Where BulkEmailSetup fits, honestly

Our top tier is rated at 200,000 emails a day per unit, so 1 million a day is five units, not one. I would rather say that plainly than pretend one server covers it. Five units is 5 servers and up to 75 IPs, more than you need, so size the IP count to your receiver mix. Hosting runs $1,000 to $2,000 a month with no per-email fee.

What five units does not include is the platform above the MTAs: campaign software, the shared suppression database, the event pipeline and the person watching the dashboards. Same work SES demands, minus six months building sending infrastructure Amazon already sells.

The recommendation

Your situationPickWhy
Strong platform team, sending is a solved problem elsewhereAmazon SES~$45,000/year, you build everything around it
One overloaded engineer, mail cannot breakSendGrid or Netcore contract$100,000+/year buys a vendor's deliverability team
Seasonal volume, peaks 4x the averageSES or a fleetnever sign a commit sized to your peak
A named owner exists and cost mattersSelf-run fleet, 5 servers~$18,000/year hosting, no per-email fee
Already at 300K a day and growingFleet, start warming now30 IPs take 10-14 weeks, start before you need them

If a renewal quote just crossed $100,000, the arithmetic is simple. At 30 million a month you are paying rent on IPs and a reputation that stay with the vendor the day you leave. The per-email model is good value at 100,000 a month and the largest avoidable line on your bill at 30 million.

The one thing that changes my answer is compliance load. Google's sender guidelines require SPF, DKIM, DMARC, TLS, valid PTR records, one-click unsubscribe and a spam rate below 0.30%, with 0.10% as the number to hold. At 30 million a month, 0.10% is 30,000 complaints. If nobody will watch that daily, buy the contract, because a fleet nobody owns burns 30 IPs faster than any bill would have hurt.

How BulkEmailSetup helps

We build the dedicated route as a one-time job: your own servers and IPs, full SPF/DKIM/DMARC/PTR configuration, MTA tuning with per-receiver throttling and adaptive backoff, automated bounce and feedback-loop handling on separate return-path infrastructure, and a staged warm-up plan sized for your peak day. The IPs are yours, so there is no shared pool to protect and no policy team deciding whether 30 million a month is too much risk for their other customers.

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, so 1 million a day is five top-tier units. See pricing and tell us your receiver mix so the IP count is sized properly.

Frequently asked questions

What is the best SMTP for 1 million emails per day?

Amazon SES is cheapest on paper at roughly $3,000 a month in send fees plus $500 to $1,000 for 20 to 40 dedicated IPs, but you build the whole platform around it. A negotiated SendGrid, Mailgun or Netcore contract runs $9,000 to $18,000 a month and hands you tooling plus a support SLA. A self-run fleet of five dedicated servers is a one-time build plus $1,000 to $2,000 a month in hosting.

How much does it cost to send 1 million emails a day?

Between about $3,500 and $20,000 a month. SES at $0.10 per 1,000 pay-as-you-go is $3,000 in send fees for 30 million, and dedicated IPs add $24.95 each. Enterprise relay contracts at a negotiated $0.30 to $0.60 per 1,000 land at $9,000 to $18,000. A five-server dedicated fleet has no per-email fee at all, just hosting and an engineer.

How many IPs do I need to send 1 million emails a day?

20 to 40 warmed IPs. At 30 IPs each one carries about 33,000 a day, which sits inside what a warmed IP with a clean record moves into Gmail and Microsoft without deferrals. Fewer than 20 pushes every IP past 50,000 a day and you will hit hourly throttles on every campaign peak.

What sending rate does 1 million a day need?

1 million a day averages about 42,000 an hour or 12 messages a second, but nobody sends flat for 24 hours. Size the fleet for 150 to 250 messages a second so a 1 million recipient campaign clears in 70 to 110 minutes. Average throughput is the wrong number to build against at any volume.

How long does it take to warm up 30 IPs?

10 to 14 weeks using staged introduction, not 8. You cannot ramp 30 cold IPs in parallel because your engaged-audience volume is finite and warm-up traffic needs opens. Bring 6 to 8 IPs online per stage, hold each stage for 2 to 3 weeks, and buy pre-warmed IPs from the vendor if you are on a contract.

Do I need a full-time engineer for 1 million emails a day?

Yes, 1 to 2 FTE on any route. On SES that team builds bounce processing, suppression, event ingestion and reputation alerting from scratch. On a contract they own list hygiene, feedback loops and the vendor relationship. On a self-run fleet they own warm-up, queue health and MTA patching.

Will Amazon SES let me send 1 million emails a day?

Yes, after quota increases. SES sending limits are raised by request and 1 million a day is routine for them, but the account still goes under review when the complaint rate approaches 0.10% or bounces exceed 5%. At 30 million a month, 0.10% is 30,000 complaints, and one bad segment gets you there in an afternoon.

Tags

best smtp 1 million per day1 million emails per dayenterprise smtpamazon ses pricingsendgrid enterprise contractdedicated smtp servermta fleetip warm-up
BulkEmailSetup

Written by BulkEmailSetup Team

We help businesses set up their own bulk email infrastructure, dedicated SMTP servers, IP rotation, and full deliverability control. One-time setup, no monthly platform fees.

Ready to set up your email infrastructure?

Get dedicated SMTP servers, IP rotation, and expert support to scale your email sending.

View Pricing