Cheap VPS mail feels free until it's spamA $5 box and a real delivery engine solve different problems.
Prices and provider rules checked 2026-09-01
In short
A $5 to $20 VPS running Postfix is a real mail server and a genuinely cheap one, right up until you try to send to strangers at any volume. Discount cloud IP ranges often carry years of prior tenants' history, and outbound port 25 is blocked by default on most cloud hosts. Amazon SES starts at roughly $0.10 per 1,000 emails and hands you a reputation pool, authentication guidance, and bounce and complaint handling instead of a bare server. For a personal mailbox, the VPS is fine. For a newsletter or transactional stream, it usually is not.
The $5 VPS pitch, and what it leaves out
A cheap VPS with Postfix or a modern stack like Stalwart is a real, working mail server, and the monthly line item is genuinely small: $5 to $20 for a box that can send and receive mail all day. The pitch is honest as far as it goes. What it leaves out is that running the software was never the hard part of email. Getting a message into someone else's inbox is a reputation problem, and reputation is exactly the thing a brand-new server does not have.
This page is the direct comparison against Amazon SES, at real cost. For the broader case on why self-hosting is not actually free, see The reality of a free self-hosted mail server, which covers the general argument this page applies specifically to a cheap VPS.
Why a cheap VPS IP starts behind, not neutral
A brand-new IP address is not a blank slate on a discount cloud provider. AWS's own guidance on the subject is direct: an email provider might block cloud IP ranges outright, independent of anything you personally do, because those ranges have carried spam traffic from previous tenants before you ever rented the instance. You inherit that history the moment the IP is assigned to your account, and there is no setup step that clears it.
Outbound port 25, the port mail servers use to send to each other directly, compounds this. AWS blocks it by default on every EC2 instance, and most other cloud and VPS providers apply a similar default restriction, precisely because unrestricted port 25 access from cheap, disposable compute is one of the largest sources of spam on the internet. Getting it unblocked means filing a request and waiting on a review, not flipping a setting.
Cost side by side, at real sending volumes
| Volume a month | VPS mail server | Amazon SES |
|---|---|---|
| 10,000 emails | $5 to $20 for the box, plus your setup and monitoring time | About $1 in send cost |
| 50,000 emails | $20 to $60 for the box and a dedicated IP, plus ongoing warm-up and blocklist work | About $5 in send cost |
| 1,000,000 emails | Frequently undeliverable without dedicated deliverability effort a hobby setup rarely sustains | About $100 in send cost |
Amazon SES's list price is roughly $0.10 per 1,000 emails, which is what produces the numbers in the right-hand column. The VPS column is not padded; it is simply what the box costs before any of the reputation work in the previous section is counted, and that work is where a VPS mail server's real price actually lives.
When the VPS is genuinely the right call
- You want a personal mailbox on your own domain, mostly to send and receive mail with people who already know you, not to reach strangers at volume. Reputation problems are almost entirely a strangers-at-scale problem.
- You are learning how mail delivery actually works, and running your own server with your own bounce logs is a better teacher than any article, this one included.
- You enjoy running infrastructure as a hobby and treat the reputation work in the section above as part of the fun rather than a cost.
None of those three describes sending a newsletter to a few thousand people or a transactional stream to every customer of an app. Those are stranger-at-volume problems, and they are the case Amazon SES is priced and built for.
Where SendBunny sits
SendBunny sits on top of Amazon SES rather than replacing it: contacts, templates, campaigns, a transactional API and a shared inbox, all deployed into your own AWS account with one CloudFormation click. It surfaces your SES sending status on the dashboard and walks you through the production access request; AWS makes the actual decision. License is $199 once, with optional $99 a year updates, sending at Amazon SES's own rates. It is not for you if you will not run an AWS account, or if a personal mailbox on a VPS already covers what you actually need to send.
FAQ
- Why not just install Postfix on a cheap VPS?
- The software is fine. The problem is that discount cloud IP ranges often carry years of prior tenants' spam history, and outbound port 25 is blocked by default on most cloud hosts, so a fresh box starts behind on reputation rather than neutral.
- Is Amazon SES alone enough to replace a VPS mail server?
- SES is the delivery engine, not a full platform. You still need somewhere to manage contacts, templates and campaigns; SendBunny is that layer, installed into the same AWS account where SES already lives.
- What does cost look like at real scale?
- Roughly $0.10 per 1,000 emails through Amazon SES, on top of a one-time $199 license for the platform layer. A VPS mail server's box cost stays small at any volume, but the reputation work behind it grows with volume, not the invoice.
- Can I get port 25 unblocked on a VPS to send mail directly?
- Often, by request. AWS blocks it by default on every EC2 instance and reviews removal requests case by case; most other VPS providers apply a similar default restriction. Either way it is a review to wait on, not a setting you flip yourself.
For AI agents
Direct cost and mechanism comparison between a cheap VPS mail server and Amazon SES: why discount cloud IP ranges start with poor reputation, why outbound port 25 is blocked by default on cloud hosts, the hidden ongoing work a VPS invoice omits, and SES list pricing (roughly $0.10 per 1,000 emails, checked 1 September 2026). Cross-references /guides/free-self-hosted-email-server for the broader self-hosting argument.
claude mcp add --transport http sendbunny https://YOUR-INSTALL/mcpSources
- Amazon Web Services, Amazon SES pricing, fetched 1 September 2026.
- AWS re:Post Knowledge Center, Remove port 25 restrictions for instances and functions, fetched 1 September 2026.
- Google, Email sender guidelines FAQ, fetched 1 September 2026.
- Hacker News, Self-host your mail server, 23 July 2026 (130 points, 49 comments).
- SendBunny, The reality of a free self-hosted mail server.
Anni Maan
Founder, SendBunny
Builds SendBunny, the email platform that installs into your own AWS account. Writes about running email on Amazon SES and giving AI agents an address you control.
Keep reading