Guide
What is Amazon SES?
Amazon Simple Email Service (SES) is AWS's infrastructure for sending — and receiving — email at scale. You verify a domain, then send through an API or SMTP for $0.10 per 1,000 emails (as of July 2026). This guide explains what it is, how it works, and — just as important — what it deliberately leaves out.
The Short Answer
Email infrastructure, not an email product
Amazon SES, launched in 2011, is the same idea as the rest of AWS applied to email: instead of running your own mail servers — or paying an email platform a per-contact subscription — you call an API (or connect over SMTP) and AWS's sending infrastructure delivers the message. It handles the hard parts of getting mail accepted at scale: connection management with mailbox providers, authentication, feedback loops, and IP reputation on its shared sending pools.
What it doesn't do is anything a marketer would recognize as an email tool. There's no campaign editor, no audience list, no meaningful analytics screen — just a console for configuration and an endpoint for sending. That split is the whole story of SES: world-class pipes, bring your own everything else. It's why publicly documented users include Netflix, Duolingo, and Reddit, and also why plenty of teams bounce off it in the first week.
Less well known: SES also receives email. You can point a domain's MX records at SES and have inbound mail delivered to S3 or trigger Lambda functions — useful for support inboxes, reply processing, and email-driven workflows.
What It's Used For
The three jobs SES does
Almost every SES workload falls into one of three buckets:
Transactional email
Receipts, password resets, magic links, order updates — one message per event, triggered by application code. This is SES's home turf: the API is built for it, and the per-message price makes it nearly free at typical volumes.
Marketing & bulk email
Newsletters, announcements, product broadcasts. SES will happily deliver the volume — but you supply the list management, templates, unsubscribe handling, and scheduling. Our guide to bulk email with Amazon SES covers what that layer involves.
Inbound processing
Receiving mail sent to your domain and handing it to your systems — store it in S3, run a Lambda on it, or publish it to SNS. Common for reply-tracking, support tooling, and parse-the-email workflows.
The pattern across all three: SES supplies the delivery mechanics, and your application supplies the intent — what to send, to whom, and when.
How It Works
The lifecycle: verify, send, listen
1. Verify a domain. Before SES sends anything as you, you prove you own the domain by publishing DNS records. Verification sets up DKIM — a cryptographic signature added to every message so receiving servers can confirm it wasn't forged. Optionally, you configure a custom MAIL FROM domain so SPF alignment points at your domain rather than AWS's. The full walkthrough is in our Amazon SES setup guide.
2. Send via API or SMTP. Two doors into the same pipe. The SESv2 API is what application code and AWS SDKs use — a SendEmail call with your content and recipients. The SMTP interface exists for everything that already speaks SMTP: frameworks, CRMs, legacy systems, that one cron job from 2019. By default your mail leaves on shared IP addresses whose reputation AWS manages across many senders; high-volume senders can lease dedicated IPs instead.
3. Listen to events. After a send, SES emits events — deliveries, bounces, complaints, and (if you enable tracking) opens and clicks. You route these through a configuration set to SNS, EventBridge, or Kinesis Firehose, and your systems act on them: suppress the address that hard-bounced, log the complaint, update the dashboard. This step is not optional in practice — SES holds you accountable for bounce and complaint rates (roughly 5% and 0.1% respectively as of July 2026, covered in our SES deliverability guide), and ignoring the event stream is how accounts end up under review.
The lifecycle at a glance
- Verify — DNS records prove domain ownership and enable DKIM (plus SPF via a custom MAIL FROM).
- Send — your code calls the SESv2 API or connects over SMTP; SES delivers on shared (or dedicated) IPs.
- Listen — configuration sets stream delivery, bounce, complaint, open, and click events to SNS, EventBridge, or Firehose for your systems to process.
Pricing
Pricing in one sentence
As of July 2026, outbound email costs $0.10 per 1,000 messages, plus $0.12 per GB of attachment data — no monthly fee, no per-contact charge, no minimum. A startup sending 100,000 transactional emails a month pays about $10; the same volume on a typical email platform runs into the hundreds. Extras like dedicated IPs and inbound receiving carry their own line items.
The honest caveat: the sticker price excludes the tooling you'll build or buy around SES — and for marketing use cases, that's where the real cost lives. The full breakdown, including the extras and the hidden costs, is in our Amazon SES pricing guide.
Sandbox & Limits
The sandbox, quotas, and reputation
Every new account starts in the sandbox: 200 messages per 24 hours, 1 message per second, and — the real constraint — you can only send to addresses you've verified. It exists so spammers can't spin up throwaway AWS accounts. Getting out requires a short production-access request where you explain what you send and how recipients opted in.
In production, two limits apply: a sending quota (messages per rolling 24 hours) and a sending rate (messages per second). Both start modest and grow as you demonstrate consistent, clean sending — SES raises them automatically for accounts with healthy bounce and complaint rates, or you can request more. And those reputation metrics are enforced: cross the thresholds and SES can pause your sending regardless of your quota. The details — defaults, throttling errors, and how to raise limits — are in our SES sending limits guide.
What's Not Included
SES is not an ESP — here's the gap
An email service provider (ESP) like Mailchimp or Brevo bundles sending with everything around it: audience management, a campaign editor, automations, unsubscribe pages, analytics. SES sells only the sending. That's not a flaw — it's the product decision that makes $0.10 per 1,000 possible — but it means every SES adopter has to answer the same question: who's building the rest?
| Capability | Amazon SES | Full ESP |
|---|---|---|
| Sending API / SMTP | Included | Included |
| Deliverability infrastructure (IPs, feedback loops) | Included | Included |
| Campaign / broadcast builder | Not included | Included |
| Audience & list management | Not included | Included |
| Unsubscribe & suppression handling | Build it yourself | Included |
| Template editing workflow | Raw API templates only | Included |
| Analytics dashboard | Raw events; build your own | Included |
| Typical cost at 100k emails/mo | ~$10 (as of July 2026) | Hundreds, often per-contact |
Teams close this gap one of three ways: build the missing layer in-house (common for pure transactional sending), pay for a full ESP and forgo SES pricing, or run a tool on top of their own SES account. That third path is what SendOps is: broadcasts, audiences, templates, unsubscribe handling, and analytics that connect to your SES account — so you keep SES's pricing and infrastructure while getting the ESP layer SES never shipped. There's a free plan, and here's how it works with SES.
Who Should Use SES
A good fit — and a bad one
SES fits well when
- You have engineers, and email volume that makes per-contact ESP pricing sting.
- Your sending is mostly transactional, triggered from application code.
- You're already on AWS and want email inside the same account, IAM, and billing.
- You want to own your sending reputation and data rather than rent a platform's.
Look elsewhere when
- Nobody on the team writes code — SES without an engineer (or a tool on top) is a wall.
- You mainly want a drag-and-drop campaign tool at low volume, ESP pricing doesn't hurt yet, and you can live with campaigns that exist only inside a vendor's editor — unreadable to version control and AI agents alike.
- You can't invest in bounce/complaint handling — SES holds you responsible for it either way.
The middle ground — a team that wants SES economics and marketing-tool ergonomics — is exactly the gap the previous section described, and it's increasingly served by tooling that runs on top of your own SES account rather than replacing it.
FAQ
Frequently asked questions
What is Amazon SES used for?
Three things: transactional email (receipts, password resets, notifications — sent one at a time from application code), marketing and bulk email (newsletters and broadcasts, paired with your own campaign tooling), and inbound email processing (receiving mail and routing it to S3, Lambda, or SNS for your application to handle).
Is Amazon SES free?
No, but it's close. As of July 2026, outbound email costs $0.10 per 1,000 messages, plus $0.12 per GB of attachments. There's no monthly fee and no minimum — you pay only for what you send. Some AWS free-tier allowances have applied to SES over the years, but the pay-as-you-go rate is so low that most teams don't plan around them.
Is Amazon SES an email marketing tool?
No. SES is sending infrastructure — an API and SMTP endpoint. It has no campaign builder, no audience management, no unsubscribe handling, and no analytics dashboard. To run marketing email on SES you either build that layer yourself or use a tool like SendOps that provides it on top of your own SES account.
How is SES different from SendGrid or Mailchimp?
They sit at different layers. Mailchimp is a full email marketing platform: editor, audiences, automations, reporting. SendGrid spans both infrastructure and marketing features. SES is infrastructure only — the raw sending pipe — which is why it costs a fraction of either. You trade built-in tooling for price and control.
Is Amazon SES hard to set up?
The basics take under an hour: verify your domain by adding DKIM DNS records, then send via the API or SMTP. The friction is what comes after — every new account starts in a sandbox limited to 200 emails per day to verified recipients, so you must request production access, and you're responsible for wiring up bounce and complaint handling yourself.
Who uses Amazon SES?
Companies of every size, from solo developers to some of the highest-volume senders on the internet — publicly documented users include Netflix, Duolingo, and Reddit. It's a common choice for engineering teams who want low per-email cost, are comfortable with AWS, and either already have sending tooling or are happy to add it.
Keep Going
Go deeper on Amazon SES
This page is the overview. Each of these guides takes one piece of the SES picture and goes all the way down:
Amazon SES setup guide
Domain verification, DKIM records, the production-access request, and your first send — step by step.
Amazon SES pricing breakdown
The full cost picture: per-message rates, dedicated IPs, inbound, and the costs the sticker price hides.
SES sending limits
Quotas, rates, the sandbox, throttling errors, and how to get your limits raised.
SES deliverability
Bounce and complaint thresholds, reputation, authentication, and staying out of the spam folder.
Bulk email with SES
Sending newsletters and broadcasts on SES — pacing, list hygiene, and the tooling layer you'll need.
Email marketing on SES
How SendOps adds the ESP layer — broadcasts, audiences, analytics — on top of your own SES account.
Get Started
SES's pricing, with the tooling it never shipped
Connect your own SES account and SendOps adds the broadcasts, audiences, and analytics layer — free to start, set up in minutes.