AWS SES is usually the better choice—it's cheaper than most self-hosted setups at $0.10/1,000 emails and scales infinitely with minimal maintenance. Self-hosted makes sense only for complete data sovereignty, specific compliance requirements, or when you need capabilities SES doesn't offer. For pure cost efficiency at volume, AWS SES wins; for control and data ownership, self-hosted wins.
Self-Hosted SMTP vs AWS SES: The Real Tradeoffs
A Different Comparison
Unlike comparing self-hosted to premium providers (SendGrid, Mailgun), AWS SES is already cheap. This changes the math.
AWS SES: $0.10/1,000 emails + some AWS overhead Self-hosted: $20-50/month fixed + maintenance time
At SES prices, self-hosting rarely wins on cost alone.
Cost Comparison
AWS SES Costs
| Volume/Month | SES Cost | Dedicated IP (optional) | Total |
|---|---|---|---|
| 50,000 | $5 | $24.95 | $30 |
| 100,000 | $10 | $24.95 | $35 |
| 500,000 | $50 | $24.95 | $75 |
| 1,000,000 | $100 | $24.95 | $125 |
| 5,000,000 | $500 | $24.95 | $525 |
Plus SNS costs for bounce/complaint handling (~$0.50/million notifications).
Self-Hosted Costs
| Component | Monthly Cost |
|---|---|
| VPS (8GB RAM) | $20-40 |
| Backup | $5-10 |
| Monitoring | $0-20 |
| Your time (4 hrs @ $75/hr) | $300 |
| Total (with time) | $325-370 |
| Total (ignoring time) | $25-70 |
Break-Even Analysis
If ignoring maintenance time:
- Self-hosted beats SES at ~500K emails/month
- At 1M emails: SES ~$125, self-hosted ~$40 → $85/month savings
If valuing time at $75/hour (4 hrs/month):
- Self-hosted almost never beats SES
- At 5M emails: SES ~$525, self-hosted ~$370 → barely break-even
Practitioner note: AWS SES is so cheap that the self-hosting cost case is hard to make. I only recommend self-hosted over SES for non-cost reasons.
What AWS SES Provides
For $0.10/1,000 emails:
- Massive scale capacity — Millions daily, no infrastructure to manage
- AWS infrastructure — Global, redundant, highly available
- Pay-per-use — No commitment, no minimums (after sandbox)
- API and SMTP — Standard integration options
- Configuration sets — Separate tracking for different use cases
- Dedicated IPs — $24.95/month when you need reputation control
- Integration — Native with AWS services (Lambda, SNS, CloudWatch)
What SES doesn't provide:
- Bounce/complaint handling (DIY via SNS)
- Analytics dashboard (basic, need CloudWatch for more)
- Email templates (basic, less sophisticated than competitors)
- Dedicated support (AWS support tiers apply)
What Self-Hosting Provides
Complete control:
- Data sovereignty — Email data never leaves your servers
- No vendor dependency — AWS can't change terms or suspend you
- Full feature control — Receive email, custom processing
- Compliance flexibility — Meet any data residency requirement
- Custom infrastructure — Build exactly what you need
What self-hosting requires:
- Server administration skills
- Email deliverability knowledge
- Ongoing maintenance commitment
- Security expertise
- 24/7 responsibility for issues
When AWS SES Wins
Choose AWS SES if:
- Cost efficiency at scale — SES is extremely cheap
- Already on AWS — Native integration with your stack
- Minimal maintenance wanted — AWS handles infrastructure
- Variable volume — Pay-per-use scales perfectly
- Standard transactional email — No exotic requirements
- Team should focus elsewhere — Email isn't core product
For most use cases, SES is the better choice.
When Self-Hosted Wins
Choose self-hosted if:
- Data sovereignty is required — Data must stay on your servers
- Regulatory compliance — Specific requirements AWS can't meet
- AWS avoidance — Strategic vendor diversification
- Receiving email needed — SES is send-only; you need both
- Custom processing — Need to manipulate mail in transit
- Already have infrastructure — Email fits existing server estate
These are legitimate reasons—they're just less common than people think.
Setup Complexity Comparison
AWS SES Setup
- Request sandbox exit (1-3 business days)
- Verify domain (SPF, DKIM via Route 53 or manual)
- Set up SNS topics for bounces/complaints
- Create Lambda functions or handlers for notifications
- Configure suppression list handling
- Warm dedicated IPs if using (2-4 weeks)
Moderate complexity, well-documented.
Self-Hosted Setup
- Provision VPS with clean IP
- Install MTA (Mailcow, Postal, Postfix)
- Configure DNS (SPF, DKIM, DMARC, PTR)
- Set up TLS (Let's Encrypt)
- Configure security (fail2ban, firewall, hardening)
- Set up monitoring (uptime, queue, reputation)
- Warm IP (2-4 weeks)
- Ongoing maintenance (updates, monitoring, troubleshooting)
Higher initial complexity, ongoing commitment.
Deliverability Comparison
AWS SES Deliverability
- Shared IPs have variable reputation
- Dedicated IPs ($24.95/month) give full control
- Good deliverability when properly configured
- Reputation dashboard available
- Must handle bounces/complaints or suffer
SES deliverability is good—problems are usually user configuration issues.
Self-Hosted Deliverability
- Fresh IP (no reputation)
- Must warm over 2-4 weeks
- Full control over reputation
- Manual blacklist monitoring
- Success depends on your expertise
Same ceiling, higher effort to reach it.
Practitioner note: I've seen excellent deliverability from both SES and self-hosted. The difference is that SES deliverability problems are usually configuration issues (fixable), while self-hosted deliverability problems can be fundamental (bad IP range, VPS provider reputation).
Self-Hosted Options
For Transactional (SES Replacement)
Postal — Open-source transactional email platform
- API and SMTP
- Click/open tracking
- Webhooks
- Web management UI
Best SES replacement for transactional use cases.
For Full Email Server
Mailcow — Complete email solution
- Send and receive
- Webmail included
- Docker-based
- More than just sending
For organizations wanting complete email infrastructure.
For High Volume
KumoMTA — High-performance MTA
- Handles millions daily
- Advanced queue management
- Lua scripting
- Enterprise-grade
For massive volume operations.
Migration Considerations
AWS SES to Self-Hosted
If switching for data sovereignty:
- Set up self-hosted infrastructure
- Configure DNS (won't conflict with SES initially)
- Warm new IP over 2-4 weeks
- Run parallel during warmup
- Gradually shift traffic
- Complete cutover when deliverability matches
- Update DNS to remove SES authentication
Self-Hosted to AWS SES
If simplifying:
- Exit SES sandbox
- Verify domain in SES
- Set up bounce/complaint handling
- Point application to SES
- Warm dedicated IP if using
- Decommission self-hosted
Hybrid Approach
Unusual but possible:
- AWS SES for bulk sending (cost efficiency)
- Self-hosted for receiving or custom processing
Or:
- AWS SES for us-east-1 latency-sensitive sends
- Self-hosted in EU for GDPR compliance sends
Match infrastructure to specific requirements.
The Honest Assessment
AWS SES is usually the right choice:
- Extremely cost-effective
- Scales infinitely
- Minimal maintenance
- Good deliverability
Self-hosted makes sense for:
- Data sovereignty requirements
- AWS avoidance strategy
- Need to receive email
- Custom processing requirements
Don't self-host just because you can. Do it because you have a specific reason AWS SES can't satisfy.
If you're evaluating email infrastructure options and want help determining the right architecture for your requirements, schedule a consultation for expert guidance.
Sources
v1.0 · March 2026
Frequently Asked Questions
Is self-hosted SMTP cheaper than AWS SES?
Rarely. AWS SES costs $0.10/1,000 emails ($100 for 1M emails). Self-hosted servers cost $20-50/month regardless of volume. Break-even is around 500K-1M emails/month, but only if you ignore maintenance time.
Why would I self-host instead of using AWS SES?
Data sovereignty (data stays on your servers), specific compliance requirements (HIPAA, GDPR edge cases), avoiding AWS vendor lock-in, or needing features SES doesn't provide (like receiving email).
Is AWS SES hard to set up?
Moderately. SES requires sandbox exit (1-3 days), bounce/complaint handling via SNS, proper authentication setup, and warmup for dedicated IPs. It's not turnkey but well-documented.
Does AWS SES have good deliverability?
Yes, when properly configured. SES can achieve excellent inbox placement with correct authentication, warmup (if using dedicated IPs), and bounce/complaint management. Poor deliverability on SES is usually user error.
Should I use dedicated IPs with AWS SES?
For high-volume (100K+/month) or sensitive transactional email, yes. Dedicated IPs cost $24.95/month each and give you full reputation control. Shared IPs work fine for lower volumes.
Want this handled for you?
Free 30-minute strategy call. Walk away with a plan either way.