Amazon SES vs Postal: Managed Cloud or Self-Hosted SMTP Server?

Isometric illustration of a teal AWS cloud pillar beside a slate server-rack pillar with a purple wrench accent, beneath the headline SES vs Postal.

Picking between Amazon SES and Postal is not really a feature-by-feature comparison - it is a question of who runs the mail server. Amazon SES is a managed AWS service that bills $0.10 per 1,000 outbound emails, according to AWS's current pricing page. Postal is a 16.6k-star MIT-licensed mail server you install on your own infrastructure, with at least 4GB of RAM, 2 CPU cores, MariaDB 10.6, and Docker as published prerequisites. Below is what each actually does, the real operational cost, and when each one is the right call.

What is Postal and what does it actually do?

Postal is an MIT-licensed, self-hosted mail server, currently on v3.3.7 (June 2026) with 16.6k GitHub stars. It bundles SMTP delivery, an HTTP API, message queues, click and open tracking, DKIM signing, IP pool management, webhooks, and SpamAssassin and ClamAV hooks into one package you install yourself. The Postal feature list is the authoritative reference for what is in the box.

That feature set is the key reframe. Amazon SES gives you raw delivery: an SMTP endpoint, an HTTP API, suppression lists, and event publishing. Postal gives you the whole sending stack, including click tracking and inbound mail routing, but only if you run it yourself. The Postal feature list explicitly covers "click and open tracking," "management of multiple pools of sending IP addresses," and "ability to forward incoming e-mail to HTTP endpoints," none of which SES does natively.

If you are also weighing managed alternatives, our Amazon SES vs Resend comparison walks through a different axis: SES versus a developer-first managed competitor.

Architecture differences

The architecture gap is the load-bearing difference. Amazon SES is a multi-tenant managed service inside AWS - no servers, no database, no queue to babysit, just API calls billed at $0.10 per 1,000 emails. Postal, per its official prerequisites, requires "at least 4GB of RAM," "at least 2 CPU cores," "at least 25GB" disk, MariaDB 10.6 or higher (MySQL is explicitly unsupported), Docker Engine with Compose, plus Git, curl, and jq.

Practically, that means a Postal install is a Docker Compose stack running the Postal Ruby on Rails application, MariaDB, and the message queue components, all on a Linux host with outbound port 25 open. Amazon SES, by contrast, is a credential and an endpoint. There is no host to patch, no MariaDB to back up, no Docker version to track, and no Rails app to upgrade when a CVE drops.

Dimension Amazon SES Postal
Architecture Managed AWS service Self-hosted Ruby/Rails mail server
Where it runs AWS infrastructure Your servers (4GB RAM, 2 CPU, 25GB disk minimum)
Dependencies AWS account, SDK or SMTP credentials MariaDB 10.6+, Docker, Docker Compose, Git, curl, jq
License / cost model Pay-per-use: $0.10 per 1,000 emails MIT open source + infrastructure and ops cost
Web UI AWS console (basic) ✓ Yes, full management UI
Click and open tracking Via event publishing (build it yourself) ✓ Yes, built in
IP pool management ✓ Yes, dedicated IPs as add-on ✓ Yes, native IP pools
Inbound mail SES inbound rules ✓ Yes, forwards to HTTP, SMTP, or addresses
Deliverability ownership Shared with AWS 100% yours - IPs, DNS, blocklists, FBLs
Where Mailblast sits Lists, automation, editor on top of your SES Not supported - Mailblast is SES-only
Source: AWS SES pricing page and Postal documentation, retrieved 2026-06-10.

Setup, ops, and operational cost

Setup is where the comparison gets concrete. Amazon SES is a one-evening job: verify a domain, add three DKIM CNAMEs, request a production sending limit increase, plug credentials into your sender, done. Postal's install path, per the postalserver/install repository, is a shell script (install-ubuntu.v3.sh) that the maintainers warn "will install database services with insecure passwords so shouldn't be used as-if for production environments." Production-grade install means hardened MariaDB credentials, DNS for SPF/DKIM/DMARC, port 25 negotiation with your host, and a dedicated server.

The operational cost is the part teams routinely underestimate. Postal is free software, but the running bill includes a 4GB+ VPS (roughly $20-$40/month at common providers), MariaDB backups, Docker image updates, and Ruby and Rails patching. On top of that sit blocklist monitoring across Spamhaus and Barracuda, feedback loop registration with major ISPs, and incident response when port 25 gets blocked or an IP gets listed. A reasonable estimate is 4-8 engineering hours per month at steady state, more during the first three months of IP warm-up.

Operational effort: Amazon SES vs Postal, hours per month Operational effort: hours per month Estimated engineering time at steady state, after first 90 days 10 8 6 4 2 0 ~1 hr Amazon SES ~6 hrs Postal (self-hosted) incl. patching, IP work
Source: Mailblast estimate based on Postal prerequisites and typical SMTP operations workload.

On the per-email math, Amazon SES at $0.10 per 1,000 emails is hard to beat. Sending 1 million emails on SES costs $100; on Postal, the software is free but the staff hours and infrastructure rarely net out cheaper until volumes climb into the tens of millions per month, and even then only if the ops team is already on payroll.

When to choose each

Choose Amazon SES when you want pay-per-use delivery with no servers to run. Reputation rides on AWS shared infrastructure, or you upgrade to a dedicated IP later, and engineering hours go into the product instead of patching a Rails mail server. The $0.10 per 1,000 emails pricing applies whether you send 1,000 or 10 million, and there is no host to maintain. This is the default for most marketing and transactional senders. Our Amazon SES review covers the trade-offs in more depth.

Choose Postal when you have a hard requirement to run mail infrastructure yourself. The usual reasons are data-residency laws, contractual restrictions on third-party email processors, or a need to send from IP space you fully own and control. Postal also makes sense when you genuinely need a full mail server - inbound routing, web UI, queue inspection, multi-tenant organisations - rather than just outbound delivery, and you have engineering bandwidth to run a production MariaDB-backed Rails service.

What rules out Postal for most teams is the port 25 problem and the deliverability work. The Postal docs flag "outbound port 25 access (often blocked by providers)" as a requirement, and most major cloud providers - including AWS EC2 - block or throttle port 25 by default. You will end up routing Postal through a relay, at which point you are paying for both a server and an SMTP service.

How Mailblast fits between them

Mailblast is not a Postal alternative - it sits on top of Amazon SES specifically. You bring your own AWS account, AWS bills you the $0.10 per 1,000 emails directly, and Mailblast provides the management layer: subscriber lists, double opt-in, the BeeFree drag-and-drop editor, automation and drip sequences, per-link click analytics, and unsubscribe handling. The free plan covers 1,000 contacts and 10,000 emails per month with no automation sends; paid plans start at $10/month for that same 1,000 contacts and add automation.

The way to think about it: SES is the engine, Postal is a different engine you build and house yourself, and Mailblast is the dashboard, editor, and automation on top of SES. Across a sample of over 1 billion marketing emails sent through Amazon SES via Mailblast, the pattern is consistent. Teams that try to graft a marketing UI onto a self-hosted SMTP server like Postal almost always migrate to a managed combination within 12 months, usually after the second blocklist incident.

Sent emails from Mailblast's paid plans carry no platform branding - just your domain (the free tier keeps a footer) - and we do not offer landing pages or A/B testing. Multi-brand agency setups are possible through sub-accounts but aren't the primary focus. The product is deliberately a focused list-and-automation layer for SES, not a full marketing suite.

The bottom line

If you are picking purely on technical merits for marketing or transactional volume under 50 million emails per month, Amazon SES wins. The math is simple: $0.10 per 1,000 emails, zero servers to run, and reputation backed by AWS infrastructure. Postal is excellent open-source software, but its 4GB-server, MariaDB-10.6, Docker-required footprint plus the ongoing deliverability work mean the all-in cost - infrastructure plus engineering hours - is rarely lower than SES until you reach volumes where you already have a dedicated mail-ops team.

Choose Postal if and only if you have a hard self-hosting requirement (data residency, contractual, or sovereignty), the engineering capacity to run a production Rails and MariaDB stack, and a host that will not block port 25. For everyone else, SES is the better delivery layer. A management tool like Mailblast on top gives you the marketing workflow without giving up the cost or reliability of managed infrastructure.

FAQ

Is Postal really a drop-in alternative to Amazon SES?

Not quite. Postal is a full mail server, so it bundles SMTP delivery, an HTTP API, a web UI, queues, and tracking. Amazon SES is delivery infrastructure only. Postal needs a server, MariaDB 10.6+, Docker, and outbound port 25 to function, while SES is API-call-and-go.

Does Postal handle deliverability and IP warm-up for me?

No. Postal manages IP pools and DKIM signing, but the reputation work is yours. You set up DNS, warm IPs gradually, monitor blocklists, and handle ISP feedback loops. Amazon SES still requires DNS and warm-up, but the IP pool reputation is partly carried by AWS shared infrastructure on the default offering.

How much does Postal actually cost to run?

The Postal software is MIT-licensed and free. The real bill is infrastructure: a dedicated 4GB+ server, MariaDB, Docker, monitoring, backups, and engineering time. A modest VPS runs roughly $20-$40 per month, but operational time for patching, blocklist work, and incident response is the larger long-term cost.

Can I use Postal as the backend behind Mailblast?

No. Mailblast is built specifically on Amazon SES. You connect your AWS account, AWS bills you $0.10 per 1,000 emails, and Mailblast handles lists, automation, the BeeFree editor, and analytics on top. If you want to self-host the SMTP layer, Postal is the alternative path, not an add-on.

Why would a team choose Postal over SES in 2026?

Three reasons usually drive it: regulatory or data-residency rules that forbid third-party processors, a need to send from IPs you fully control, or transactional volume large enough that engineering time on Postal is cheaper than per-email SES fees. For most marketing senders, none of these apply.


Disclosure: Mailblast is a hosted management layer for Amazon SES. We have a commercial interest in SES adoption, and we do not sell or support Postal. The technical claims above are sourced from public AWS and Postal documentation as of June 2026.

Ready to Start Your Email Marketing Journey?

Join thousands of businesses using Mailblast to grow their audience.

← Back to Blog