· 11 min read

Amazon SES vs Resend: How My Clients Send Email for a Tenth of a Cent

Amazon SES vs Resend, compared by an agency that runs client email on SES — real per-email pricing, what the emails look like, and who should pick which.

An open laptop showing an email inbox on a desk
Photo by cottonbro studio on Pexels

I once watched a small business pay $240 a year to send about forty emails a month. That works out to fifty cents an email. For that money you could print each one, buy a stamp, and post it — and you’d still have change left for a biscuit.

That’s the whole reason this post exists. Email sending is one of those invisible parts of a website — the contact form, the booking confirmation, the “your application was approved” note — and most businesses have no idea what it costs or how it works. So here’s how I do it for my clients, and why the answer is Amazon SES and not the trendier option.

The short version: Amazon SES charges $0.10 per 1,000 emails with no monthly fee. Resend charges $20/month once you outgrow its free tier. SES is roughly four times cheaper per email; the trade is a genuinely painful setup. My clients get the SES price without ever touching the setup — the first 1,000 emails every month are free, and every email goes out from their own domain with no watermark.

Amazon SES vs Resend in one paragraph: both are services that send email on behalf of your website — contact-form notifications, receipts, status updates. SES is Amazon’s raw infrastructure: $0.10 per 1,000 emails, pay-as-you-go, no monthly minimum, but a setup process only a developer could love. Resend is the developer-friendly wrapper: quicker to start, nicer dashboard, and about four times the per-email price once you’re past the free tier.

What that means in practice:

A calculator and money on a desk, working out costs

The pricing math: $0.10 per 1,000 vs $20 a month

Let’s do actual numbers, because “cheaper” is a word and words are free.

Amazon SES charges $0.10 per 1,000 emails. Not per month — per thousand sent, whenever you send them. A typical small-business website sends somewhere between 50 and 500 emails a month: contact forms, quote requests, confirmations. On SES, 500 emails costs five cents. A busy month with 2,000 emails costs twenty cents. You could fund a year of it with the coins in your car door.

Resend’s paid plan is $20 a month for up to 50,000 emails. That’s a fine price if you send anywhere near 50,000 emails. Almost no small business does. So in practice you’re paying $240 a year for capacity you’ll never touch — the gym membership model, except the gym is a mail server. (Resend does have a free tier of 3,000 emails a month, capped at 100 a day, and honestly for a lot of small sites that’s enough. More on when Resend is the right call later — I’m not here to pretend it’s a scam. It’s just priced for startups, not for the local bakery.)

One detail worth knowing with SES: it charges per recipient, not per message. Send one email to 100 people, that’s 100 billable emails. At these prices it’s a rounding error, but it’s the honest fine print.

For my clients, the arrangement is simpler than either: the first 1,000 emails every month are free. Past that, you’re into fractions of a cent per email. Nobody is paying $20 a month to receive their own contact form.

Cables plugged into networking equipment in a server room

The catch with SES — and why you’ll never see it

Here’s the part the comparison articles are built on: SES is cheap because Amazon sells it like a warehouse sells pallets. You want retail service, you pay retail.

Setting up SES properly means verifying your domain, adding DNS records so inboxes trust you (SPF, DKIM, DMARC — three acronyms that decide whether your email lands in the inbox or the spam folder), then writing an application to Amazon to get out of “sandbox mode,” where your account starts. Yes, an actual application, with sentences, explaining what you’ll send and how you handle bounces. The AWS console walks you through all this with the warmth and charm of a tax form.

Estimates online put SES setup at four to fifteen hours for someone doing it the first time. One developer did the maths and concluded Resend is actually cheaper for most startups once you price in that engineering time — and for a startup paying developer salaries, he’s right.

But here’s the thing about hiring an agency: that cost is mine, and I’ve already paid it. The domain verification, the DNS records, the sandbox exit, the bounce handling — done once, reused for every client. You get pallet pricing with retail service. It’s the one genuine advantage of the “boring infrastructure plus a person who’s already fought it” model: the hard part happened before you arrived.

The contact email template every client site sends

What the actual email looks like

The screenshot above is the real template — not a mockup. When someone fills in the contact form on a client’s site, this is what lands in the client’s inbox, usually within a couple of seconds.

A few deliberate choices in there:

It’s built the unglamorous way — table-based HTML — because that’s what renders correctly in Gmail, Outlook, and Apple Mail alike. Email HTML is stuck in roughly 2003, and fighting that fact is how you get emails that look great in the design tool and broken everywhere else.

And if the standard template doesn’t fit: I design custom email templates to match your business. Your colours, your logo, your tone. An email is often the first thing a customer receives from you — it should look like it came from you.

There’s also quiet security in the plumbing. The contact endpoint only ever delivers to your inbox — the form on your site physically cannot be pointed at anyone else, so nobody can hijack it to spam strangers. And it rate-limits to five submissions per ten minutes per visitor, which filters out most bots before they cost you anything.

A person reading an email on their phone with a coffee

No watermark — which matters more than you’d think

Free email tools pay for themselves somehow, and the usual currency is your footer: “Sent via …”, “Powered by …”, a little badge telling every recipient you used the free plan. Harmless on a hobby site. Less harmless when the email is the product.

One of my clients is an organisation that emails students their application results — approved or not approved. Think about that email from the student’s side. It’s news they’ve been waiting on. If it arrives from a personal Gmail with a “sent via free-form-tool” footer, some part of the reader’s brain files the whole organisation under possibly two people in a garage. The same decision, sent from @theirdomain.com, cleanly formatted, no third-party badge anywhere — reads like an institution.

Every email my clients send is like that: their domain, their design, no watermark, no badge. The recipient sees the business and only the business. It’s a small thing that compounds, because email is usually the highest-volume touchpoint a business has. You might redesign the website every few years; the emails go out every day.

Neatly organised files and records in an archive

Every email, on the record

The part I’d want as a business owner: nothing here is fire-and-forget. Every email sent on a client’s behalf is logged, and clients see the log in their Client Hub dashboard on the Emails page.

If you’ve ever wondered “did that email actually send?” — this is the answer, permanently, with receipts. (Literally. Some of the emails are receipts.)

When you should NOT do it my way

Time for the bit agencies skip.

If you’re a developer building your own project — just use Resend. Genuinely. The free tier covers 3,000 emails a month, setup takes minutes, the dashboard is lovely. SES only wins when someone else absorbs the setup pain or your volume is big enough for the 4× price gap to matter. Under 50,000 emails a month, the absolute difference is pocket money; paying yourself to fight the AWS console to save $15 is bad maths.

If you send three emails a month and they’re all personal replies — your normal inbox is fine. Not everything needs infrastructure. A plain email from you, typed by you, is sometimes exactly the right tool.

Where my setup earns its keep is the middle: a real business, real customers, emails going out automatically from a website, and no developer on staff. That’s who SES quietly punishes with its setup and who Resend quietly overcharges with its flat fee — and it’s exactly the gap an agency should fill.

Send enough email that it should look professional; send too little to justify $20 a month. That’s most small businesses I’ve ever met.

What this costs you with me: usually nothing

To put it all in one place — email sending on my client sites means: sent through Amazon SES from your own domain, first 1,000 emails a month free, fractions of a cent after, no watermark, a designed template (standard or custom to your brand), spam-filtered and locked to your inbox, and every email archived and exportable from your dashboard.

If your current website’s contact form goes to a Gmail address, or worse, goes nowhere and you’ve been wondering why it’s so quiet — get in touch. The form on my site uses exactly the system described above, so consider your first message a product demo. If it doesn’t arrive, I owe you a very awkward apology.

Straight answers

Which is cheaper, Amazon SES or Resend? SES, by roughly four times per email: $0.10 per 1,000 versus Resend’s $20/month for 50,000 ($0.40 per 1,000). But if your volume is small and nobody is handling SES setup for you, Resend’s free tier (3,000/month) can make it cheaper in practice — your time counts as money.

Is Amazon SES really $0.10 per 1,000 emails? Yes — pay-as-you-go, no monthly minimum. It bills per recipient, so one email to 100 people counts as 100 emails. Extras like dedicated IPs cost more, but a small business needs none of them.

Why not just send email from Gmail or my hosting provider? Automated email from a personal Gmail hits spam filters fast and looks unprofessional. Cheap hosting mail servers share reputation with every spammer on the same box. Proper sending services authenticate your domain (SPF, DKIM, DMARC) so inboxes trust the mail — that’s the difference between arriving and vanishing.

Do the emails have a “sent via” watermark? Not on my setup. Every email comes from your domain with your template and nothing else. Watermarks are how free email tools advertise themselves; they’re the first thing to get rid of when the emails represent a real business.

What does the client actually see? A live log in their Client Hub dashboard: every email sent, searchable and filterable, with the exact delivered email viewable in full, and any date range exportable as a PDF.

Can the contact form on my site be abused to spam people? Not this one. The endpoint only delivers to your own inbox — the recipient isn’t something the form can change — and it’s rate-limited to five submissions per ten minutes per visitor, which stops most bots at the door.


Image credits: Photos by cottonbro studio, Tara Winstead, Brett Sayles, Gustavo Fring, and Zulfugar Karimov on Pexels. The contact-email screenshot is our own template.

email pricing how we work

Want a website built this way?

Simple, transparent pricing — and a real person on the other end. Simple sites ship in one day once your project is confirmed.