What it actually costs to send 500,000 emails from your own AWS

A line-by-line breakdown of the AWS bill for running a serverless email platform — SES, Lambda, SQS, SNS and EventBridge — at 50k, 500k and 2M emails a month, including the one line that is not free when idle.

“Run it on your own AWS and it’s cheaper” is easy to say and annoying to verify. So here is the actual bill, broken down by service, at three volumes.

Everything below is us-east-1 list pricing as of August 2026. No commitments, no reserved capacity, no negotiated rates — the prices anyone gets by signing up.

The short answer

Emails / monthSESLambdaQueue, events, storageTotalPer 1,000
50,000$5.00$0~$0.25≈ $5–6≈ $0.11
500,000$50.00~$2–5~$5≈ $55–65≈ $0.12
2,000,000$200.00~$20~$15–20≈ $235–250≈ $0.12

Plus a database, which is the one line that is not free when nothing is happening. More on that below.

The headline: about twelve cents per thousand emails, all in. SES is ten of those cents and everything else is the other two.

Where the money goes

SES — $0.10 per 1,000

This is the floor and it is most of the bill. Amazon charges ten cents per thousand emails with no monthly minimum and no base fee.

There is a separate charge for attachment data over a certain size, which does not apply to most transactional or marketing email — a text-and-HTML message with hosted images is well under it.

At 500,000 emails that is $50. It is worth sitting with that number for a moment if you are used to per-contact pricing, because $50 is roughly what several platforms charge to store 5,000 contacts, before sending anything at all.

Lambda — $0 to about $20

Five functions do the work: the API, the send worker, the automation processor, the broadcast expander and the DMARC report processor.

AWS gives every account 1 million free requests and 400,000 GB-seconds per month, permanently — not a trial. At 50,000 emails a month, all of this fits inside the free tier and the Lambda line on your bill is literally zero.

At 500,000 you are past the free tier and into a few dollars. At 2 million, roughly $20. Lambda’s pricing is genuinely linear and there is no step function to fall off.

SQS, SNS, EventBridge — a few dollars

Sending is queued through SQS FIFO for ordering and retry. Delivery events come back from SES through SNS. The automation engine runs on EventBridge.

All three are cheap enough that they are hard to make interesting. SQS is $0.50 per million requests after the first million free. SNS is similar. EventBridge is $1 per million events.

At 500,000 emails with three to six delivery events each, you are looking at a few million operations across the three services — call it $5.

S3 and CloudFront — under a dollar

Media storage for images used in emails, and imports staged for processing. Unless you are hosting large video files in your newsletter, this rounds to nothing.

The database — the one that is not free

Every service above bills per use and costs nothing when idle. The database does not.

You need Postgres. The options, roughly:

  • Neon or CockroachDB free tier — genuinely $0, and adequate for getting started and for low volume
  • A managed serverless Postgres — typically $0–50/month depending on how much you store and how active it is
  • RDS — from about $15/month for a small instance, more predictable, less elastic

For most people starting out this is $0 and later becomes $20–50. It is the only line that has a floor.

”Scales to zero” — what that actually means

The architecture is five Lambdas, some queues and a database. There are no servers, no containers and nothing running when nobody is using it.

That means a month where you send nothing costs you close to nothing: a fraction of a cent for the scheduled tick that checks for due broadcasts, plus whatever your database costs. If your sending is seasonal — a conference, a product launch, a quarterly newsletter — you are not paying for capacity in the eleven quiet months.

The honest asterisk is the database. “Scales to zero” is true of the application and not quite true of the whole system.

How this compares

The comparison that matters is not against other per-email providers, because at these volumes they are all in the same order of magnitude. It is against per-contact pricing, where the models diverge completely.

Take 25,000 contacts emailed four times a month — 100,000 emails.

Monthly
Your own AWS≈ $12
Mailchimp Standard~$270
ActiveCampaign Plus~$400
HubSpot Starter~$1,215

The gap is not because AWS is doing something clever. It is because those platforms are not charging for sending email. They are charging for the size of your list, and the cost of storing an email address is approximately zero.

Once you see the two numbers side by side, the interesting question stops being “how do I get a better rate” and becomes “what am I actually paying for?”

Sometimes the answer is legitimate — a genuinely good product, a team you do not have, deliverability expertise you do not want to develop. Those are real. But it should be a decision you make with the arithmetic in front of you.

Check your own numbers

The figures above are our modelling of published list prices, and your situation will differ — send frequency especially, since per-contact platforms do not care how often you send and per-email pricing cares about nothing else.

The cost calculator takes your contact count, your send frequency and whoever you pay today, and tells you the difference. If the saving is small it will say so.


Selva Mail runs this architecture on your AWS account. $497, once. How it works.

Stop paying for the same contacts
every month.

$497 once. Runs on your infrastructure, sends through your own AWS SES account. Launch buyers get agency rights permanently — unlimited client workspaces. First 100 licenses.

or email us directly — hi@selva.run