Amazon SES Pricing: Why a $10 Estimate Becomes a $30 Bill

Amazon SES charges per recipient, not per send. All 15+ billing components, 3 worked scenarios, dedicated IP break-even, and a free SES cost calculator.

August 7th, 2026
28 min read
0 views
0 likes

The $0.10/1,000 rate is real. It is also the starting point, not the finish line. I have seen teams budget $10/month for SES, deploy, and then spend an hour untangling an invoice that was three times higher. The extra charges were not hidden; they just require knowing where to look.

The single most important fact about SES pricing: it bills per recipient, not per send. One campaign blast to 10,000 subscribers is 10,000 message charges, not one. At $0.0001 each, that is $1.00, but the confusion about this model is what drives most of the billing surprises I have seen on AWS cost reviews.

This article walks through every billing component, works through six scenarios at realistic sending volumes, and ends with a workflow for modeling SES costs in IaC before they show up on the bill. If you want to skip straight to the numbers, use the calculator linked throughout.

Quick answer: SES has six billing dimensions: outbound email, attachment data, dedicated IPs, add-on features (VDM, Mail Manager, Tenants), inbound email, and downstream AWS services (SNS, S3, CloudWatch). Accounts with SES activity before June 1, 2025 keep pay-as-you-go (a la carte) pricing; everyone else defaults to a bundled Essentials plan as of July 21, 2026. Free-tier eligibility follows that same cutoff, not simply when the account was created. At 100K emails/month with VDM, the a la carte per-email cost is $0.00017, 70% above the headline rate. Use the CloudBurn SES calculator to model your specific configuration.

The $0.10/1,000 Rate Is the Beginning, Not the End

The base Amazon SES pricing for outbound email under a la carte pricing is $0.0001 per email ($0.10 per 1,000). This rate applies uniformly across all AWS commercial regions: there is no US-only rate or premium for Asia Pacific regions. A la carte is the pay-as-you-go model this guide breaks down dimension by dimension, and it is what the CloudBurn calculator linked throughout models. If your account defaults to one of the bundled plans AWS introduced in July 2026, see the section below before you read the rate table.

That rate covers the message charge only. Attachments, dedicated IPs, and add-on features each generate their own line items. At 100K emails/month with VDM enabled, the a la carte per-email cost rises to $0.00017, a 70% premium over the headline. At 1M emails/month with two dedicated IPs and VDM, it climbs to $0.000222, more than double.

These six billing dimensions work independently. You can have zero from the five beyond outbound email and pay only the base rate. But each one you add compounds on top of the others, and the worked scenarios below show what that math looks like at three common sending volumes.

Per-Recipient Billing: The Most Common Source of Bill Shock

SES charges per recipient. Sending one email to 100 recipients counts as 100 message charges against your daily quota.

The math is straightforward: a campaign to 10,000 subscribers costs $1.00 in message charges ($0.0001 x 10,000), not $0.001 or $0.0001. The confusion comes from the pricing table expressing the rate as "per 1,000 emails" while the billing unit is per individual recipient on each send.

Your daily sending quota works the same way. In the sandbox, the 200-email/day limit counts recipients, not messages. If you send one test email to 50 addresses, you have used 50 of those 200 slots.

List hygiene has a direct cost implication here. Invalid addresses that bounce after delivery still consume the $0.0001 charge for the initial send attempt. Email Auto Validation costs $0.01 per 1,000 validations after setup, ten times cheaper than the $0.0001 you pay to send to an invalid address that bounces. At high volumes, validating before sending is straightforward math.

Amazon SES Pricing Plans: Essentials, Pro, and Enterprise (New Since July 2026)

On July 21, 2026, AWS added three bundled pricing plans on top of the a la carte model this guide focuses on: Essentials, Pro, and Enterprise. Each plan rolls sending, VDM, and (at the higher tiers) dedicated IPs and email validation into a single per-email rate, priced up to 22% below what those features cost when bought a la carte.

Plan0-10M emails/month10-100M emails/month>100M emails/monthMonthly feeBundled in
Essentials$0.16/1,000$0.14/1,000$0.11/1,000NoneOutbound sending, VDM SES deliverability
Pro$0.22/1,000$0.17/1,000$0.12/1,000$105Everything in Essentials, plus VDM Global Deliverability, Managed dedicated IPs, email validation (2,500/month), Trend Micro scanning
Enterprise$0.23/1,000$0.18/1,000$0.13/1,000$500Everything in Pro, plus Global Endpoints, Tenants (1,000 included), an included open ingress endpoint, Spamhaus scanning, and email validation (5,000/month)

Rates are per account per region and tier marginally, the same way a la carte volume tiers work. Standard and BYOIP dedicated IPs, and Mail Manager archiving, remain pay-as-you-go extras on every plan, including Enterprise.

Which model applies to you comes down to account history, not choice by default: new SES accounts, and any account-region combination with no metered SES activity since June 1, 2025, start on the Essentials plan automatically from July 21, 2026 onward. Accounts that were already sending through SES before that cutoff keep a la carte pricing without any action required. Either way, you can switch between a la carte and any plan at any time from the SES console.

Whether a plan or a la carte pricing costs less depends on your mix of features. Essentials' $0.16/1,000 rate already includes VDM SES deliverability, which works out cheaper than a la carte's $0.10/1,000 base plus $0.07/1,000 for VDM ($0.17/1,000 combined) for straightforward sending with engagement tracking. Pro and Enterprise make more sense once you need dedicated IPs and email validation bundled rather than billed separately. If you need only some of what a plan bundles, or you are provisioning through IaC and want per-dimension visibility, a la carte pricing (and the calculator below) gives you that granularity; a plan does not.

The SES Free Tier in 2026: Which Track Applies to Your Account

Free-tier eligibility depends on four things that are easy to conflate: which message allowance you qualify for, how much general AWS credit your account has, which pricing model your account is on, and which charges those allowances actually cover. Keep them separate and the picture is straightforward.

Message allowance. SES used to give every account 3,000 free message charges per month for the first 12 months after you started using SES, shared across outbound, inbound, and VDM-processed messages. As of July 21, 2026, that allowance is closed to new eligibility. If you are already inside your original 12-month window, it keeps applying to your a la carte usage for the rest of that window. If you are not (a brand-new account, or an existing account-region combination with no metered SES activity since June 1, 2025), you do not get it.

AWS credits. Separately from the SES-specific allowance, every new AWS account has received up to $200 in general AWS Free Tier credits since July 15, 2025: $100 at sign-up, plus up to $100 more for completing onboarding tasks such as launching an EC2 instance or testing a prompt in Amazon Bedrock. The free plan window is 6 months from account creation; all $200 must be used within 12 months, and any unused balance rolls over automatically if you upgrade to a paid plan before the 6 months are up. This applies against any eligible AWS service, SES included, and is not available in AWS GovCloud (US) or China regions.

Account-plan duration. Since July 21, 2026, every new SES account and every account-region combination without metered SES activity since June 1, 2025 starts on the bundled Essentials plan (covered below) by default, with a la carte pricing available as an opt-in switch at any time. Accounts that were already sending through SES before that cutoff stay on a la carte pricing and keep the account-plan duration they already had. Neither plan has a time limit on its own; you can switch between a la carte and any bundled plan whenever you want.

Gross charges. These two allowances offset different bills. The 3,000-message allowance offsets a la carte message charges only, and only for accounts still inside their 12-month window. The $200 AWS credit offsets whatever your account is actually billed, whether that is a la carte line items or a bundled plan's per-email rate and monthly fee. A new account defaulting to Essentials gets the $200 credit applied against its Essentials bill; it does not get the 3,000-message allowance on top.

One interaction worth knowing if you are still inside a legacy 12-month window on a la carte pricing: when VDM is enabled, each outbound email counts as two message charges against the 3,000/month allowance. Sending 1,500 emails/month with VDM enabled uses the entire allowance. Under any of the July 2026 plans, VDM SES deliverability is bundled into the per-email rate rather than metered separately against a message count, so this doubling only applies to legacy a la carte accounts still inside their free-tier window.

The 3,000-message allowance never covers the following, regardless of which 12-month window you are in:

  • Outgoing attachment data ($0.12/GB)
  • Incoming mail chunks ($0.09/1,000 chunks)
  • Standard and BYOIP dedicated IP fees
  • Mail Manager processing and archiving, and Tenants charges

The $200 general AWS credit is different: it is a dollar balance, not a message count, so it draws down against any eligible SES charge, including these, until it runs out.

What Amazon SES Actually Costs: The Full Rate Table

Most documentation covers 6-8 billing dimensions. SES has more than 15 distinct chargeable line items across the pricing page, and several of them are easy to miss until they appear on an invoice.

Billing DimensionRateNotes
Outbound email$0.0001/email ($0.10/1,000)Per recipient
Global Endpoints surcharge$0.03/1,000 emailsOnly when sending via multi-region endpoint; adds 30% to sending cost
Inbound email$0.0001/email ($0.10/1,000)Per message received
Inbound chunks$0.09/1,000 chunksEach chunk = 256KB; CEILING(size_KB / 256) x $0.00009
Outbound attachment data$0.12/GBAttachment portion only; base charge separate
Email Validation (manual)$0.01 per validationPer individual address via API/console
Email Validation (Auto)$0.01/1,000 validationsSending charges still apply if validation suppresses address
Dedicated IP Standard$24.95/IP/monthProrated; you manage warm-up and reputation
Dedicated IP Managed$15/account/month + tiered per-email$0.08/$0.04/$0.02 per 1K at 0-10M/10M-50M/50M-100M
BYOIP$24.95/IP/monthMinimum /24 block = $6,387.20/month floor
VDM (0-10M tier)$0.07/1,000 emailsEffective Feb 14, 2025; additional to base charge
VDM (10M-100M tier)$0.05/1,000 emailsAutomatic; no configuration needed
VDM (>100M tier)$0.02/1,000 emailsAutomatic; no configuration needed
VDM queries$0.0005/1,000; first 5,000/month freeConsole, CLI, API access to VDM data
VDM Global Deliverability$1,250/month per region per accountIncludes 5 domains, 12 IPs, 25 seed list tests; launched May 2026
Mail Manager endpoint (open/mTLS)$50/month per endpointCharges persist until DELETED, not just closed
Mail Manager email processing$0.15/1,000 emailsAll emails processed by Mail Manager
Mail Manager archiving ingestion$2/GB ingested
Mail Manager archiving storage$0.19/GB/monthOngoing storage and search
Tenants$0.005/tenant/month + $0.005/1,000 emailsMulti-tenant SaaS use case; up to 10,000 tenants
Deliverability Expert ServicesFlat fee per 3-month engagementNo published price; contact AWS

Pricing is uniform across all AWS commercial regions; there are no region-specific tiers on the standard pricing page. GovCloud (US) and China region pricing are not published on the standard page and should be verified separately.

CloudBurn

Model Your SES Costs Before They Hit the Bill

The CloudBurn SES pricing calculator covers every billing dimension: outbound and inbound email, VDM (with free-tier interaction), dedicated IPs (Standard, Managed, BYOIP), Mail Manager, Tenants, and Email Validation. No signup required.

Dedicated IP Pricing: Standard, Managed, and BYOIP Compared

Dedicated IPs give you a sending address that is yours alone, separate from the shared IP pool used by all SES customers. That isolation matters when your sender reputation needs to stay clean regardless of what other SES senders do. The three options differ significantly in cost structure, management overhead, and when they make financial sense.

Standard Dedicated IPs: $24.95/Month and What You Manage Yourself

Standard dedicated IPs cost $24.95/month per IP address. The fee is prorated if you relinquish an IP mid-month, but relinquishing is irreversible: you cannot request the same IP back. There is no minimum commitment.

The base outbound charge ($0.0001/email) still applies on top of the IP fee. The IP fee buys you the address; you still pay per email sent through it.

What you manage: IP warm-up (gradually increasing send volume over several weeks to establish reputation with mailbox providers), scaling (requesting additional IPs via AWS Support as volume grows), and ongoing reputation monitoring. If your IP ends up on a blocklist, you own that problem.

Standard is the right choice when you send at consistently high volume, need direct control over IP reputation, and have the operational capacity to manage warm-up and incident response.

Managed Dedicated IPs: Tiered Per-Email Plus $15 Account Fee

Managed dedicated IPs cost $15/month per account (not per IP) plus a tiered per-email fee:

  • 0-10M emails/month: $0.08/1,000 emails
  • 10M-50M emails/month: $0.04/1,000 emails
  • 50M-100M emails/month: $0.02/1,000 emails
  • Above 100M/month: contact AWS

SES automatically provisions, warms up, and scales the IPs. During warm-up, excess traffic routes through the SES shared pool automatically. As of October 2025, IP observability is available: you can see the exact IP addresses in your managed pool and access Microsoft SNDS reputation metrics via CloudWatch.

BYOIP is not compatible with Managed dedicated IPs. If you want to bring your own ranges, you are on the Standard track.

Managed makes sense when sending volume is unpredictable or growing, or when your team wants to avoid the operational overhead of IP management.

BYOIP: The $6,387.20/Month Floor Nobody Warns You About

BYOIP lets you send through SES using IP addresses you already own, useful when you are migrating from an in-house mail server and want to carry your established IP reputation into SES rather than rebuilding it from scratch.

The rate is $24.95/month per IP, which looks identical to Standard dedicated IPs. The catch is the minimum: you must bring a /24 block, which is 256 addresses. That makes the minimum commitment $6,387.20/month before a single email is sent.

256 x $24.95 = $6,387.20/month minimum.

Additional constraints: the IP range must be registered to a business entity (not an individual) with an RIR (ARIN, RIPE, or APNIC), must have clean reputation history (AWS can reject ranges with poor history), and can only be used in a single AWS region. Using BYOIP in a region also blocks you from using the SES shared IP pool in that same region.

If you do not have an existing IP range with established reputation, BYOIP is not the right path. Standard or Managed dedicated IPs are significantly cheaper at every realistic new-sender volume.

Standard vs. Managed Break-Even: Which Is Cheaper at Your Volume?

Managed dedicated IPs charge a flat $15/month account fee no matter how many IPs SES provisions for you, plus a per-email fee. Standard dedicated IPs charge $24.95/month per IP with no per-email fee. That structural difference is what makes one formula answer the break-even question for any IP count:

Break-even volume = (N x $24.95 - $15) / $0.00008, where N is the number of Standard IPs you are comparing against, and $0.00008 is the Managed per-email fee ($0.08/1,000) in the 0-10M tier. Below that volume, Managed costs less for N IPs worth of sending capacity. Above it, N Standard IPs cost less.

This compares IP fees only. The base $0.0001/email outbound charge is identical either way and applies on top of both options, so it does not change which one wins.

Standard IPs (N)Standard feeBreak-even volume
1$24.95124,375 emails/month
2$49.90436,250 emails/month
3$74.85748,125 emails/month
5$124.751,371,875 emails/month
10$249.502,931,250 emails/month

Worked check for N=2: at the 436,250-email break-even point, Managed costs $15 + (436,250 x $0.00008) = $15 + $34.90 = $49.90, which matches the 2-IP Standard fee exactly. Below that volume, Managed's per-email component has not caught up to $34.90 yet, so Managed is cheaper. Above it, Managed keeps climbing while the 2-IP Standard fee stays fixed at $49.90.

Two volumes from the worked scenarios below illustrate this at N=2: at 100K emails/month, Managed's per-email fee is only $8.00 ($15.00 + $8.00 = $23.00), well under the $49.90 Standard fee for 2 IPs, so Managed wins. At 1M emails/month, Managed's per-email fee has grown to $80.00 ($15.00 + $80.00 = $95.00), well past the 436,250 break-even point, so Standard's fixed $49.90 for 2 IPs now saves $45.10/month over Managed.

The pattern holds at any IP count: Managed wins when your total sending volume is low relative to the number of IPs you need. Standard wins when volume is high and consistent relative to that same IP count. All figures above are IP fees only, valid within the 0-10M/month tier; both options still bill the base $0.0001/email charge separately.

Virtual Deliverability Manager (VDM) Pricing

VDM is an opt-in add-on that layers on top of standard SES sending. It adds engagement tracking (open and click events via tracking pixel and wrapped links), optimized delivery routing, a deliverability dashboard, and advisor recommendations on sending practices.

The pricing structure changed on February 14, 2025, moving from a flat per-message fee to tiered pricing:

Volume TierRate
0-10M emails/month$0.07/1,000 emails
10M-100M emails/month$0.05/1,000 emails
>100M emails/month$0.02/1,000 emails

VDM query access (console, CLI, or API calls to retrieve VDM data) costs $0.0005/1,000 queries, with the first 5,000 queries/month free. For most teams, query costs stay within the free tier.

The free-tier interaction is worth understanding before enabling VDM on an a la carte account still inside its 3,000-message window. Each outbound email counts as two message charges when VDM is enabled. At 1,500 outbound emails/month with VDM on such an account, you hit all 3,000 free message charges exactly. VDM fees themselves are still billed even when the base sending charge falls within the free tier. On the bundled Essentials, Pro, and Enterprise plans, VDM SES deliverability is included in the per-email rate rather than metered separately, so this doubling does not apply.

As of May 2026, VDM includes a new sub-feature: VDM Global Deliverability, which adds inbox placement metrics (percentage of messages reaching the inbox vs. spam folder) and blocklist monitoring. The cost is $1,250/month per region per account, which includes 5 domains, 12 IPs, and 25 seed list tests/month. Overages are $25/domain, $12.50/IP, and $10/seed list test above the included allowances, though the pricing page does not clarify whether these are monthly per-unit charges or per-event charges, so verify at aws.amazon.com/ses/pricing before budgeting for overages. No introductory pricing or free trial is mentioned in the announcement or on the pricing page.

The practical decision on VDM: if you need engagement data (open and click rates), the deliverability advisor, or inbox placement metrics, VDM's cost is usually justified. For pure transactional sending where you only need delivery confirmation, disabling VDM saves 70% on per-email costs at low volumes.

Mail Manager Pricing: The Part That Bites You After Deletion

Mail Manager is an SES component for routing, processing, archiving, and governing inbound (and outbound) email through rule sets. It operates on its own billing track, separate from core SES sending and receiving.

The rate structure:

ComponentRate
Open or mTLS ingress endpoint$50/month per endpoint
Authenticated ingress endpointFree
Email processing$0.15/1,000 emails
Additional recipients (Send to Internet action)$0.10/1,000 recipients (after first recipient)
Inbound mail chunks$0.09/1,000 chunks
Archiving ingestion$2/GB ingested
Archiving storage and search$0.19/GB/month

The billing-persistence trap is the single most common surprise I have seen with Mail Manager. Closing an endpoint changes its status to "Closed", but the $50/month charge continues. The only way to stop endpoint charges is to delete the endpoint. Charges are prorated on deletion.

I have seen teams discover a $50/month charge running for several months after they stopped using a Mail Manager endpoint because someone closed it instead of deleting it. The distinction between "close" and "delete" is easy to miss in the console. Before provisioning any open or mTLS endpoint, document the deletion step in your runbook.

The processing rate of $0.15/1,000 emails is 50% higher than the core SES inbound receiving rate of $0.10/1,000. If you are routing inbound email through Mail Manager just for S3 delivery (which you can do with a standard SES receiving rule), Mail Manager adds cost without adding value. Use Mail Manager when you need rule-based routing, archiving with search, or mTLS authentication for inbound mail, not as a default for all inbound processing.

Three Worked Scenarios: 10K, 100K, and 1M Emails/Month

The scenarios below use the published SES rates from earlier in this guide. All amounts are in USD. Pricing is uniform across AWS commercial regions. Actual attachment sizes, IP counts, and VDM query volumes will change the totals.

Scenario 1: 10,000 Emails/Month (Basic Sending)

Profile: small transactional sender, no attachments, no dedicated IPs, no VDM. Legacy free-tier account within the first 12 months of SES use.

Line ItemCalculationCost
Outbound messages (after 3,000 free)7,000 x $0.0001$0.70
Attachment dataNone$0.00
Total$0.70

Without the message allowance (a new account relying on the $200 AWS credit instead, or an account past its 12-month window): $1.00/month.

At 10K emails/month, adding a single Standard dedicated IP costs $24.95/month, which is 25x the base sending cost. The shared IP pool performs well at this volume. Most small transactional senders stay on shared IPs indefinitely.

Scenario 2: 100,000 Emails/Month (With and Without VDM)

Profile: medium transactional or marketing sender, no dedicated IPs. Scenarios shown without legacy free tier deduction (steady-state cost after 12 months).

Without VDM:

Line ItemCalculationCost
Outbound messages100,000 x $0.0001$10.00
Attachment data (10KB avg per message)1 GB x $0.12$0.12
Total$10.12

With the legacy free tier in the first 12 months: (97,000 x $0.0001) + $0.12 = $9.82.

With VDM enabled (no attachments):

Line ItemCalculationCost
Outbound messages100,000 x $0.0001$10.00
Attachment dataNone$0.00
VDM processing (0-10M tier)100,000 x $0.00007$7.00
VDM queries (under 5,000/month free)0$0.00
Total$17.00

Compared apples-to-apples on the same 100K emails with no attachments, VDM raises the bill from $10.00 to $17.00, a 70% increase for engagement tracking. The true per-email cost with VDM is $0.00017, not $0.0001. If you are sending transactional notifications where open rates do not affect operational decisions, that 70% premium is real cost without real value.

Scenario 3: 1,000,000 Emails/Month (Standard vs. Managed Dedicated IPs With VDM)

Basic sending, no add-ons: 1,000,000 x $0.0001 = $100.00/month. This is the cleanest number for high-volume senders evaluating SES as a baseline.

With 2 Standard dedicated IPs + VDM:

Line ItemCalculationCost
Outbound messages1,000,000 x $0.0001$100.00
Attachment data (20KB avg)20 GB x $0.12$2.40
Dedicated IP Standard (2 IPs)2 x $24.95$49.90
VDM processing (0-10M tier)1,000,000 x $0.00007$70.00
VDM queriesNegligible~$0.00
Total$222.30

With Managed dedicated IPs + VDM:

Line ItemCalculationCost
Outbound messages1,000,000 x $0.0001$100.00
Attachment data (20KB avg)20 GB x $0.12$2.40
Dedicated IP Managed (account fee)Flat$15.00
Dedicated IP Managed (0-10M per-email)1,000,000 x $0.00008$80.00
VDM processing (0-10M tier)1,000,000 x $0.00007$70.00
Total$267.40

At 1M emails/month needing 2 IPs, Standard saves $45.10/month over Managed ($222.30 vs. $267.40). The math inverts at lower IP counts or unpredictable volumes; see the break-even analysis in the dedicated IP section above.

Summary: All Six Scenarios

Here are all six worked configurations side by side, from a small transactional sender to a high-volume account running dedicated IPs and VDM:

VolumeAdd-onsMonthly Cost
10K emailsNone (legacy free tier, within 12 months)$0.70
100K emailsNone (no free tier)$10.12
100K emailsVDM only (no attachments)$17.00
1M emailsNone$100.00
1M emails2x Dedicated IP Standard + VDM$222.30
1M emailsDedicated IP Managed + VDM$267.40

All scenarios use uniform global pricing. Verify current rates at the Amazon SES pricing page before finalizing budgets; AWS pricing is subject to change.

CloudBurn

Model Your SES Costs Before They Hit the Bill

The CloudBurn SES pricing calculator covers every billing dimension: outbound and inbound email, VDM (with free-tier interaction), dedicated IPs (Standard, Managed, BYOIP), Mail Manager, Tenants, and Email Validation. No signup required.

Additional Billing Dimensions: Global Endpoints, Email Validation, Tenants, and Ancillary AWS Services

Beyond the core sending charges, several billing dimensions that apply to specific use cases are worth knowing about before you build.

Global Endpoints add $0.03/1,000 emails on top of the base $0.10/1,000 rate, a 30% premium for multi-region sending resilience. Global Endpoints route outbound email through two SES regions automatically, providing failover if one region has issues. The surcharge only applies when you send via a multi-region endpoint; standard regional sending is unaffected.

Email Validation API costs $0.01 per individual validation for manual checks via the API or console. Auto Validation (which integrates directly with your sending flow) costs $0.01/1,000 validations after setup, a 1,000x reduction in unit cost over manual validation. Worth enabling for any SaaS application where users provide email addresses during sign-up. Note that sending charges apply even if Auto Validation suppresses the address after the validation step.

Tenants are an SES feature for SaaS platforms managing multi-tenant email, introduced in August 2025. Each active tenant costs $0.005/month plus $0.005/1,000 emails sent through that tenant's configuration. Tenants enable isolated reputation policies: SES can automatically pause a tenant if its bounce or complaint rate crosses a threshold, without affecting other tenants in your account. Maximum 10,000 tenants per account (adjustable).

Deliverability Expert Services (DES) is a professional services engagement where AWS deliverability engineers work with you to improve inbox placement. No price is published. AWS describes it as a flat fee per 3-month engagement, and you reach them via AWS Support. Do not plan DES into a budget without an actual quote.

Downstream AWS services generate their own bill lines, separate from SES charges:

Modeling SES Cost in IaC Before It Hits the Bill

Once you know what SES will cost, the next step is making sure you can see it before it surprises you. I add a budget alarm scoped to SES on every project that uses it. It takes about five minutes in Terraform and has caught cost anomalies more than once when a batch job started sending more than expected.

SES charges appear under "Amazon Simple Email Service" in the AWS bill. The lineItem/UsageType dimension breaks the charges down further:

  • Send-Message: per-message outbound sending charge
  • Receive-Message: per-message inbound receiving charge
  • Receive-Chunk: per 256KB chunk of inbound message data
  • OutgoingMailData: outbound attachment data charge
  • Dedicated IP fees (Standard and Managed)
  • VDM per-message charges
  • Mail Manager endpoint, processing, and archiving charges

SNS, S3, and CloudWatch charges appear under their respective services, not under SES. Track them separately in your shift-left FinOps workflow, or they will be invisible in SES-filtered Cost Explorer views.

To filter the Cost and Usage Report (CUR) to SES spend only, use: product/ProductName = "Amazon Simple Email Service"

For tagging, attach cost allocation tags to SES configuration sets (the environment, product, and team tags). This lets you break SES spend by team or product in Cost Explorer, which matters once you have multiple products sending through SES.

Here is a minimal Terraform budget alarm scoped to SES:

resource "aws_budgets_budget" "ses_monthly" {
  name         = "ses-monthly-budget"
  budget_type  = "COST"
  limit_amount = "50"
  limit_unit   = "USD"
  time_unit    = "MONTHLY"

  cost_filter {
    name   = "Service"
    values = ["Amazon Simple Email Service"]
  }

  notification {
    comparison_operator        = "GREATER_THAN"
    threshold                  = 80
    threshold_type             = "PERCENTAGE"
    notification_type          = "ACTUAL"
    subscriber_email_addresses = ["your-team@example.com"]
  }
}

Set the threshold to match your expected spend from the scenarios above. The 80% threshold fires before you hit the limit, giving you time to investigate before the month closes.

A few FinOps modeling points that are easy to miss:

  • Multi-region architectures multiply fixed costs. Dedicated IPs, Mail Manager endpoints, and VDM configuration are all per-region. Running SES in 3 regions multiplies the fixed line items by three.
  • Attachment data charges can dominate at large message sizes. At $0.12/GB and 1MB average attachment, attachment costs are $0.00012/message, slightly more than the base email charge. Linking to cloud-hosted assets instead of attaching files removes this charge entirely.
  • The $0.006/month SNS estimate at 1M sends/1% bounce rate uses HTTPS delivery to a single endpoint. If you route bounce notifications to email (for a shared inbox), the SNS email delivery rate is $2.00/100,000 notifications, 33x more expensive than HTTPS delivery to a Lambda or SQS endpoint.

CloudBurn

Catch Expensive AWS Patterns in Code Review

CloudBurn scans your Terraform and CloudFormation for cost anti-patterns directly in CI. The same rules also run against your live AWS account to find what's already wasting money. Open source, installs in seconds.

Sandbox Restrictions and What They Mean for New Accounts

Every new SES account starts in the sandbox. Sandbox mode:

  • Restricts sending to verified email addresses only (you cannot send to arbitrary recipients)
  • Limits sending to 200 emails per 24-hour period and 1 email/second
  • The 200-email daily limit counts per recipient, not per message (one email to 200 addresses uses the entire daily allowance)

Sandbox is the right default for development and testing. But it means you cannot send to real customers until you request production access.

To leave sandbox, submit a production access request through the AWS Management Console. The request requires: mail type, website URL, use case description, and expected sending volume. AWS reviews and approves, typically within a few business days.

Sandbox status and quotas are per-region. If you plan to send from multiple regions (for Global Endpoints, disaster recovery, or reduced latency), you need to request production access in each region separately. Check the current SES service quotas for the latest limits.

After production access is approved, sending rates start low and scale via additional AWS Support requests. Plan for this in your initial deployment timeline: the first production access request is not the last step.

SES vs. Managed SMTP: When Total Cost of Ownership Tips the Other Way

At raw per-email rates, SES wins at almost every volume. The comparison comes up most often against managed providers like SendGrid, Mailgun, or Postmark. The $0.0001/email base rate is significantly cheaper than most managed ESPs at equivalent volumes. At 1M emails/month, the base SES cost is $100. Managed ESP pricing at that volume typically runs several hundred dollars to several thousand, depending on provider and plan.

The comparison gets more complicated when you include total cost of ownership.

What SES does not include (and what managed ESPs typically do include in their pricing):

  • Bounce handling infrastructure (SNS + Lambda + suppression list management)
  • DKIM/SPF/DMARC configuration and maintenance per region
  • Deliverability support and incident response
  • IP warm-up management (if using dedicated IPs)
  • Unsubscribe management and compliance tooling

At low volumes (below roughly 50K emails/month), the developer time to build and maintain bounce handling may cost more than the price difference between SES and a managed provider. The math changes sharply at higher volumes: at 1M+ emails/month, the raw cost gap is large enough that building the supporting infrastructure makes sense for most engineering teams.

The SES overhead is primarily a one-time setup cost, not ongoing. Once you have SNS-to-Lambda bounce handling and a working suppression list integration, it runs without attention. The initial investment is real; the steady-state cost is not.

If deliverability is a first-order concern (cold email, high-volume marketing, regulated industry), adding VDM adds $70/month at 1M sends, still far less than most managed ESP equivalents that include deliverability tooling. VDM Global Deliverability at $1,250/month per region is priced for enterprise-scale senders who need inbox placement data across multiple mailbox providers.

Frequently Asked Questions

How much does Amazon SES cost per email?
The base rate is $0.0001 per email ($0.10 per 1,000). With VDM enabled at the 0-10M tier, the per-email cost rises to $0.00017. At 1M emails/month with 2 Standard dedicated IPs and VDM, the effective per-email cost is $0.000222. Attachment data, inbound email, and other dimensions add on top of the base charge.
Is the Amazon SES free tier still available in 2026?
Yes, but the model changed on July 21, 2026. Every new AWS account still gets up to $200 in general Free Tier credits ($100 at sign-up plus $100 via EC2/Bedrock usage), valid for 6 months, which applies against any eligible SES bill. The separate SES-specific allowance of 3,000 free message charges per month for 12 months is now closed to new eligibility: only accounts with metered SES activity before June 1, 2025 that are still inside their original 12-month window get it. Everyone else defaults to the Essentials plan and uses the $200 credit against that bill instead.
Does SES charge per recipient or per message?
Per recipient. Sending one email to 100 recipients counts as 100 message charges. This applies to billing and to daily sending quota consumption: the sandbox 200-email/day limit depletes on recipients, not on message sends.
What is the cost of a dedicated IP in Amazon SES?
Standard: $24.95/month per IP, no minimum commitment. Managed: $15/month account fee plus $0.08/1,000 emails (0-10M tier), dropping to $0.04/1,000 at 10M-50M. BYOIP: $24.95/IP/month with a /24 minimum block (256 IPs), making the floor $6,387.20/month. All three options add to the base $0.0001/email outbound charge.
How do I avoid unexpected charges in Amazon SES?
Five practical steps: use S3 links instead of email attachments to eliminate the $0.12/GB data charge; disable VDM if you do not use its dashboards (saves 70% on per-email cost at low volumes); do not provision dedicated IPs below roughly 50K-100K emails/month; build SNS and Lambda bounce handling before going to production; and delete (not just close) Mail Manager endpoints to stop the $50/month endpoint charge.
Why is my Mail Manager endpoint still charging me after I closed it?
Closing an endpoint changes its status to Closed but does not stop billing. The $50/month charge continues until you delete the endpoint. Deletion stops charges on a pro-rated basis. This is a documented behavior on the AWS pricing page: the only way to stop endpoint charges is to delete, not close.
Does enabling VDM affect the SES free tier?
Yes, for a la carte accounts still inside their 3,000-message free-tier window (metered SES activity before June 1, 2025, within the first 12 months of use). When VDM is enabled, each outbound email counts as two message charges against that 3,000/month allowance. Sending 1,500 emails/month with VDM uses the entire allowance. VDM fees (the $0.07/1,000 per-email charge) are billed regardless of free-tier status. On the bundled Essentials, Pro, or Enterprise plans, VDM SES deliverability is included in the per-email rate, so this doubling does not apply.
What happens to SES costs when sending across multiple regions?
Fixed costs multiply per region. Dedicated IP fees, Mail Manager endpoint charges, and VDM account-level features are all per-region. Running SES in three regions triples those fixed line items. Sandbox removal and production quota increases are also managed separately per region.

Key Takeaways

Amazon SES pricing has five quick things worth locking in before you deploy:

  1. Per-recipient billing is the default surprise. One send to 10,000 addresses is $1.00, not $0.001. Your daily quota counts the same way.

  2. Check which free-tier model applies to your account. The 3,000 message charges/month allowance only remains for accounts still inside a 12-month window that started before June 1, 2025. Everyone else gets the general $200 AWS credit and defaults to the Essentials plan. The two do not stack.

  3. VDM adds 70% to per-email cost at the 0-10M tier. At 100K emails/month, that is the difference between $10.12 and $17.00/month. Disable it if you are not actively using the dashboard.

  4. Delete Mail Manager endpoints, do not just close them. Closed endpoints keep billing at $50/month. The only way to stop charges is deletion.

  5. Model it in IaC before you deploy. An AWS Budgets alarm and a CUR filter take five minutes to set up and prevent the "how did this get to $X" conversation two months into production.

For your specific configuration, plug your numbers into the CloudBurn SES calculator; it covers all 15+ billing dimensions including VDM free-tier interaction and BYOIP minimum floors. If you are building the bounce-handling infrastructure that production SES requires, the next article covers Amazon SNS pricing, including where notification delivery method choice changes cost by 33x.

What configuration are you running? Drop a question in the comments if you run into a scenario the worked examples above do not cover.

Share this article on ↓

Loading comments…

Related reading

Newsletter

Get product updates and practical AWS cost writeups.

Subscribe for changelogs, new tools, and technical cost optimization posts built for engineers.

Newsletter signup form loading.

By signing up you agree to our privacy policy.