Amazon SES alternatives: where to go and how to switch without hurting deliverability

Eight services, one for each reason to leave, and an eight-step migration plan.

The short answer: Postmark for app email that has to land fast, Resend for a developer team, SMTP2GO if your app sends over SMTP, SendGrid or Mailgun if you want a full platform, Brevo or Mailjet if you also send newsletters. And sometimes the right answer is to stay: if you send millions of emails and your team lives in AWS, nothing beats $0.10 per 1,000. Whatever you pick, one thing matters more than the tool: export your suppression list, region by region. We compared the eight destinations in this guide and checked their pricing for 2026.

Romain CochardCEO of Hack'celeration
Updated 20268services compared8migration steps2026prices checked

The ranking is editorial: a sponsored spot is always labeled on its card, and no affiliate link changes a score.

The real reasons

Why teams leave Amazon SES, low price or not

Nobody leaves SES over price. At $0.10 per 1,000 emails it's still the benchmark. People leave because of everything around it: strict rules enforced without warning, and a service you have to assemble yourself. Six reasons, all from AWS documentation and user reports.

A sandbox, region by region

A new account can only send to verified addresses, 200 emails per 24 hours, one per second. To get out you request production access and choose transactional or marketing. AWS promises a first response within 96 hours, and the status covers one region only: opening a second region means doing it again.

Denials with no explanation

A production request can be denied without a detailed reason, and support can't see the specific cause or overturn it. Contact languages are English or Japanese only. For a team launching next week, this is the blocker people fear most.

Low thresholds, and no list handed back

SES puts you under review at a 5% bounce rate or 0.1% complaint rate, and can pause sending at 10% bounces or 0.5% complaints. AWS recommends staying under 2% bounces. If you didn't track bounces yourself, AWS won't give you the complete list of offending addresses.

Pauses with no alert

A pause can land without a review period first, and SES emits no EventBridge event for it: you have to poll EnforcementStatus yourself. A direct complaint left unhandled for three weeks can also trigger one. On forums, teams describe suspensions effective immediately, one of them despite a double opt-in list.

No more free tier, plus add-ons

The old monthly free quota is gone: new accounts get up to $200 in AWS credits. On top of sending, you pay for a dedicated IP ($24.95 a month), Virtual Deliverability Manager ($0.07 per 1,000) or Mail Manager, whose ingress endpoint costs $50 a month even when closed.

A raw gateway to assemble

SES has no email editor, no list management, no ready-to-read bounce dashboard: you wire up IAM, SNS and a tool on top. On shared IPs, users describe mail landing in spam for weeks once complaints sat between 0.3% and 0.5%.

The 8 alternatives

Amazon SES alternatives, one by one

For each service: why move there, who it's for, its catch, how to migrate from SES, and what it costs. Prices are those listed in 2026, in the currency the vendor shows.

01

Postmark: transactional email with no sandbox and no quota to negotiate

Best for app email

Why move to Postmark. On SES you start in a sandbox, file a production access request and wait. Postmark only does transactional email (receipts, password resets, alerts) and doesn't make you negotiate a sending quota: you send what your app needs. It's also the only vendor here with a migration guide written specifically for Amazon SES customers, including a field-by-field API mapping.

Who it's for. SaaS products, marketplaces and stores whose emails are triggered by a user action, where a password reset that lands late or in spam is a support ticket.

Who it's not for. High-volume newsletters, since Postmark is built around transactional streams. And anyone who only cares about the lowest price per thousand emails, where SES still wins.

The catch. The free plan stops at 100 emails a month with no overage: it's a dev sandbox, not a production plan. Raw MIME sending (the SendRawEmail equivalent) isn't supported in the API, and there's no SMTP port 2587.

How to migrate from SES. Size limits match SES (10 MB per message, 50 recipients), so nothing to rewrite there. In code, Source becomes From and TemplateData becomes TemplateModel. The POSTMARK_API_TEST token lets you validate calls without sending anything. SNS notifications are replaced by webhooks: JSON posts to a URL on your server, one webhook per event type.

Pricing. Free up to 100 emails a month. Basic starts at $15 a month for 10,000 emails. Message history is kept for 45 days, adjustable from 7 to 365 days as an add-on. Our Postmark review covers the full plan list.

Free
100 emails a month
Paid
from $15/mo (10,000 emails)
Best for
app email
Catch
no raw MIME via API
See Postmark pricing →
02

Resend: the fastest switch for a developer team

Fastest to integrate

Why move to Resend. SES makes you wire up IAM permissions, SNS notifications and domain verification yourself. Resend starts from the other end: one key, a short API, and templates you can write in React if your team already does. An app that sends a handful of email types can switch in an afternoon.

Who it's for. Product teams working in JavaScript or TypeScript, and young apps that want clean sending without becoming deliverability experts.

Who it's not for. Projects that need all data to stay in the EU: sending can run from Ireland, but account data stays in the US.

The catch. The free plan advertises 3,000 emails a month but caps you at 100 a day, with 30 days of data. Beyond your Pro plan's volume, each extra thousand emails costs $0.90, nine times the SES rate. Dedicated IPs only come with the Scale plan, and only above 3,000 emails a day.

How to migrate from SES. Create the domain in the eu-west-1 region (Ireland) if your recipients are in Europe, add the DKIM records, then swap the SES call for the Resend call in your mail service. Keep SES wired as a fallback until the first days look clean.

Pricing. Pro is $20 a month for 50,000 emails, $35 for 100,000. Scale runs from $90 (100,000 emails) to $1,150 (2.5 million). A dedicated IP is $30 a month on Scale.

Free
3,000/mo, 100/day
Paid
Pro from $20/mo (50,000)
Best for
developer teams
Catch
account data stays in the US
See Resend pricing →
03

SMTP2GO: a simple SMTP relay, dedicated IP included at 100,000 emails

Easiest over SMTP

Why move to SMTP2GO. Plenty of apps talk to SES over SMTP, not the API. SMTP2GO is built for that case: change the host, username and password, and sending resumes. The dashboard shows bounces and complaints without SNS or a message queue in between.

Who it's for. WordPress sites, line-of-business software and internal tools that send over SMTP, run by a small team that doesn't want to write code.

Who it's not for. Teams that need to know where the servers are: the pricing page doesn't say.

The catch. The free plan gives 1,000 emails a month with no credit card. Enough to check the switch, not enough for an active app in production.

How to migrate from SES. Replace the SES SMTP settings with SMTP2GO's, verify your domain, then send a few emails to your own Gmail and Outlook addresses before moving the rest.

Pricing. Starter is $10 a month for 10,000 emails, then $1 per extra thousand. Professional is $75 a month for 100,000 emails with a dedicated IP included. More in our SMTP2GO review.

Free
1,000 emails a month
Paid
from $10/mo (10,000)
Best for
apps sending over SMTP
Catch
server locations not listed
Try SMTP2GO for free →
04

SendGrid: the well-known platform, with a time-limited free plan

Most widely integrated

Why move to SendGrid. SendGrid (Twilio) covers the API, SMTP and marketing campaigns, with a long list of ready-made integrations. If your other tools ship a SendGrid connector and not an SES one, the switch often takes zero code.

Who it's for. Teams that want a familiar platform with templates and stats in a dashboard.

Who it's not for. Small projects counting on a permanent free plan: SendGrid's lasts 60 days.

The catch. After 60 days at 100 emails a day, the free plan stops sending. One forum user describes leaving both SES and SendGrid over reliability issues, a reminder that no provider is immune.

How to migrate from SES. Verify the domain (CNAME-based authentication), create an API key, swap the SES call, then turn your SNS notifications into an event webhook.

Pricing. Essentials is $19.95 a month. Our SendGrid review and the Postmark vs SendGrid head-to-head go deeper.

Free
60 days, 100/day
Paid
Essentials $19.95/mo
Best for
teams that want a dashboard
Catch
free plan ends after 60 days
See SendGrid →
05

Mailgun: the developer API, one step up in price

The classic email API

Why move to Mailgun. Mailgun is a developer-first sending API with detailed logs and address validation. It's the natural move when your team wants to stay on a pure API, like SES, but with support and debugging tools that are easier to reach.

Who it's for. Engineering teams sending tens of thousands of emails a month who want searchable logs.

Who it's not for. Tight budgets: at equal volume Mailgun costs several times what SES does. Our switch from Mailgun guide covers the reverse trip, and ranks SES as the cheapest option.

The catch. The free plan caps at 100 emails a day. A dedicated IP is $59 a month, more than double the SES price.

How to migrate from SES. Domain, DKIM, merged SPF, then swap the SES call for the Mailgun call; webhooks replace SNS.

Pricing. Basic is $15 a month, Foundation $35 for 50,000 emails, Scale $90. Dedicated IP $59 a month.

Free
100 emails a day
Paid
Basic from $15/mo
Best for
engineering teams
Catch
pricier than SES at equal volume
See Mailgun pricing →
06

Mailjet: a generous free plan plus a campaign editor

Biggest free plan

Why move to Mailjet. Mailjet combines a sending API, an SMTP relay and a campaign editor. Its free plan is the largest here by monthly volume, which makes it handy for a small app that had barely left the SES sandbox.

Who it's for. Small teams that want to send app emails and the odd campaign without paying yet.

Who it's not for. Projects that want a dedicated IP early: it's only offered on request from the 100,000-email plan.

The catch. Free gives 6,000 emails a month but no more than 200 a day. Unused credits don't roll over.

How to migrate from SES. Verify the domain, publish DKIM and SPF, switch the API or SMTP, and import your bounced and complained addresses before the first send.

Pricing. Essential from $19 a month, Premium $29 a month for 15,000 emails, 10% off with annual billing.

Free
6,000/mo, 200/day
Paid
Essential from $19/mo
Best for
small teams, API and campaigns
Catch
dedicated IP from 100,000 plan
See Mailjet pricing →
07

Brevo: transactional and newsletters in one account

All-in-one

Why move to Brevo. SES is a raw gateway: no email editor, no list management, no campaign UI. Brevo puts transactional email (API and SMTP) and marketing email in one account. If you were sending newsletters through SES plus a homemade tool, you get both under one roof.

Who it's for. SMBs and online stores that send both order confirmations and a newsletter and want one bill and one dashboard.

Who it's not for. High-volume, transactional-only apps: the quota is shared between marketing and transactional, so a big campaign can eat into your critical emails.

The catch. The free plan caps at 300 emails a day, and unsent emails don't carry over. Watch the shared quota as your campaigns grow.

How to migrate from SES. Add the domain, publish its DKIM records, then swap the SES SMTP host for Brevo's if your app sends over SMTP: often the only change. Import your SES suppression list as a blocklist before the first send.

Pricing. Free up to 300 emails a day, then around $7 a month. Our Brevo review walks through the tiers.

Free
300 emails a day
Paid
from around $7/mo
Best for
transactional plus newsletter
Catch
shared quota
Try Brevo for free →
08

Scaleway TEM: the EU-data option that still feels like SES

For EU data

Why move to Scaleway TEM. If you like the SES model (an API, a price per thousand, nothing else) but need a European cloud provider, Scaleway's Transactional Email is the closest match. The company is French, billing is in euros, and the console will feel familiar to anyone used to a cloud provider.

Who it's for. Teams already hosting on Scaleway, or leaving AWS entirely. Our switch from AWS guide covers the rest of that move.

Who it's not for. Marketing teams who want a campaign editor: like SES, it's a developer sending service.

The catch. Quotas on new accounts are validated by support, a bit like leaving the SES sandbox, so plan for it. Scaleway advises against a dedicated IP below 10,000 emails a month.

How to migrate from SES. Verify your domain, publish SPF and DKIM, then switch via API or SMTP. Ask for your quotas to be raised before switch day, not on it.

Pricing. 300 emails a month free, then €0.25 per thousand. The Scale plan is €80 a month with 100,000 emails included, €0.20 per extra thousand, a managed dedicated IP and a 99.9% uptime commitment.

Free
300 emails a month
Paid
€0.25 per 1,000
Best for
EU-hosted cloud teams
Catch
quotas validated by support
See Scaleway TEM →
The comparison

SES and 8 alternatives side by side

For scale, take 100,000 emails a month. On SES that's $10 of sending, and 1 million emails is $100, plus $0.12 per GB of attachments and $24.95 if you add a dedicated IP. At the same 100,000 emails, Resend Pro is $35, Scaleway TEM about €25 pay-as-you-go (or €80 with a dedicated IP and uptime commitment), SMTP2GO Professional $75 with a dedicated IP. SES wins on raw price; the others charge for convenience, support and no sandbox. If you send millions from a team that's at home in AWS, staying is a defensible call.

Free planFirst paid plan and price check
Amazon SESWhere you startNo permanent free quota: up to $200 in AWS credits$0.10 per 1,000 emails; dedicated IP $24.95/mo
PostmarkApp email100 emails a monthBasic $15/mo for 10,000 emails
ResendDevelopers3,000 a month, 100 a dayPro $20 (50,000), $35 (100,000); $0.90 per extra 1,000
SMTP2GOSMTP relay1,000 emails a monthStarter $10 (10,000); Professional $75 (100,000, IP included)
SendGridKnown platform60 days, 100 a dayEssentials $19.95/mo
MailgunDeveloper API100 emails a dayBasic $15; Foundation $35 (50,000); IP $59/mo
MailjetBig free plan6,000 a month, 200 a dayEssential $19; Premium $29 (15,000)
BrevoAll-in-one300 emails a dayFrom around $7/mo; quota shared with marketing
Scaleway TEMEU cloud300 emails a month€0.25 per 1,000; Scale €80/mo (100,000 included)

Entry prices before tax, as listed by vendors in 2026 and subject to change. Always compare on your real volume.

Migration plan

Migrate off Amazon SES in eight steps

Order matters. Each step protects something: your recipients, your sender reputation, the critical emails your app depends on.

01

Inventory everything that sends through SES, region by region

Day 1

List every app, service and tool that sends through SES. For each one, note the AWS region, whether it uses the API or SMTP, and the verified identities (domains, addresses). Add the configuration sets, SNS topics and EventBridge rules that receive bounces and complaints.

Region matters: production status, the suppression list and identities are all per region in SES. An account sending from two regions has two inventories.

Time
half a day
Risk if rushed
a forgotten sender still on SES
02

Export the suppression list before anything else

Most important

Your account-level suppression list holds hard bounces and complaints. Leave it behind and your new provider will retry those addresses, tanking your reputation in week one. AWS also warns it can't give you a complete list of the problem addresses if you didn't track them yourself.

Run aws sesv2 list-suppressed-destinations in each region and follow NextToken to the last page. Keep the reason (BOUNCE or COMPLAINT) in your file, then import it as a blocklist at the destination.

Command
aws sesv2 list-suppressed-destinations
Gotcha
one list per region, paginated
03

Prepare DNS without breaking current sending

Day 2

Add the new provider's DKIM records alongside the SES ones: both signatures can coexist. SPF allows only one record per domain, so merge both providers into the same line instead of adding a second one.

Set DMARC to p=none during the switch so you see failures without getting mail rejected. On SES, SPF only aligned if you used a custom MAIL FROM domain: check the equivalent at the destination to keep alignment.

SPF
one merged record
DMARC
p=none during the switch
04

Update the code or SMTP settings

Days 2 to 3

If your app sends over SMTP, changing host, port and credentials is often enough. Check the port: 2587 exists on SES but not everywhere.

If it uses the API, wrap sending in a single function before switching providers so the change happens in one place. Find any raw MIME calls (SendRawEmail): some destinations, Postmark included, don't accept them and expect separate fields.

Easiest path
SMTP: host and credentials
Watch for
raw MIME sends
05

Replace SNS with the destination's webhooks

Day 3

On SES, bounces, complaints, deliveries, opens and clicks flow through SNS, EventBridge or Firehose. At the destination they usually arrive by webhook, a JSON request to a URL on your server. Map each type (delivery, bounce, complaint, open, click) and the message ID, which changes name.

Test bounce and complaint handling before the first real send: it feeds the suppression list at your new provider.

Before
SNS, EventBridge, Firehose
After
JSON webhook per type
06

Ramp up on a shared IP first

Weeks 1 to 2

Start on the new provider's shared IPs and send your most expected emails first (password resets, confirmations). A dedicated IP only makes sense with steady volume: AWS warms its own over 45 days, then expects around 1,000 emails a day per mailbox provider to keep them warm, and Scaleway advises against one below 10,000 emails a month.

Time
one to two weeks
Dedicated IP
only with steady volume
07

Check Gmail and Yahoo sender requirements

Above 5,000 emails a day to Gmail, you need SPF, DKIM, DMARC and one-click unsubscribe on marketing email. SES managed subscriptions added the unsubscribe headers for you: confirm the destination does too, or add them yourself.

Threshold
5,000 a day to Gmail
Keep
one-click unsubscribe
08

Keep SES as a fallback, then clean up

Don't switch SES off on cutover day. Keep it configured as a fallback for a few weeks: one team whose SES account got suspended says it kept sending without a hitch because a second provider was already wired in. Once things are stable, remove the three Easy DKIM CNAMEs and the SES MAIL FROM domain, then move DMARC to quarantine or reject.

Fallback
a few weeks
Remove
Easy DKIM CNAMEs, MAIL FROM

Is your tool missing from this page? Email us: hello@hackceleration.com

Migration pitfalls

What makes an SES migration go wrong

The same mistakes show up from one team to the next. None is hard to avoid, and each one costs weeks of deliverability.

Leaving without the suppression list

Bounced and complained addresses that SES was blocking go back out through the new provider. Your bounce rate starts high on a reputation that's still new. Export the list in every region before touching code.

Adding a second SPF record

Two SPF records on one domain break the check. Merge providers into one line, and only drop SES from it at the end.

Taking a dedicated IP too early

A cold dedicated IP on low volume does worse than a well-run shared pool. Take one only with steady volume, and budget several weeks of warm-up.

Forgetting bounce handling

Your SNS topics do nothing at the new provider. If the new webhook isn't wired up, nobody removes dead addresses and complaints, and you recreate the situation that made you leave.

Comparing per-thousand pricing with plans

SES bills per email; Postmark, Resend and Mailjet sell monthly plans; Brevo shares its quota between transactional and marketing. Compare on your real volume with dedicated IP and support included. Our best transactional email services ranking helps you decide.

Assuming leaving solves data residency

SES has EU regions. Resend, on the other hand, sends from Ireland but keeps account data in the US, and SMTP2GO's pricing page doesn't list server locations. Ask the destination in writing before you sign.

FAQ · 8 questions

Amazon SES alternatives: frequently asked questions

  • Is Amazon SES still free?

    Not permanently. The old monthly free quota is gone: a new AWS account gets up to $200 in Free Tier credits, a 6-month free plan, and credits to use within 12 months. After that, sending costs $0.10 per 1,000 emails. Comparison posts that still quote a fixed free SES quota are out of date.

  • What is the cheapest Amazon SES alternative?

    None beats SES per thousand emails: $0.10, against €0.25 at Scaleway TEM and $0.90 for Resend overage. Alternatives win once you count the rest: a dedicated IP included (SMTP2GO Professional at $75), reachable support, and the engineering hours you no longer spend on SNS and IAM.

  • Why is my SES account under review or paused?

    SES puts an account under review at a 5% bounce rate or 0.1% complaint rate, and can pause sending at 10% bounces or 0.5% complaints, sometimes with no review first. No EventBridge event fires on a pause: poll EnforcementStatus in a monitoring script. To get out, show AWS what you fixed; meanwhile a fallback provider keeps you sending.

  • How long does SES production access take?

    AWS says it sends a first response within 96 hours. Until then you can only send to verified addresses, 200 emails per 24 hours and one per second. The status is per region, so leaving the sandbox in us-east-1 doesn't cover eu-west-1. If you're denied, support can't share the specific reasons or overturn the decision.

  • SES vs SendGrid vs Postmark: which should I pick?

    SES for the lowest price at high volume inside AWS, Postmark for app email that must land fast, SendGrid if you want a dashboard and campaigns too. Our Postmark vs SendGrid comparison and our transactional email for developers ranking go further.

  • Do I need a dedicated IP after leaving SES?

    Rarely at first. A dedicated IP only helps with high, steady volume; otherwise a well-run shared pool does better. It's $24.95 a month on SES, $59 on Mailgun, $30 on Resend Scale, and included in SMTP2GO Professional.

  • Is there an Amazon SES alternative with EU data hosting?

    Scaleway TEM is a French cloud provider billing in euros. Before you leave for that reason alone, note that SES has EU regions and is available in the AWS European Sovereign Cloud, with fewer features: no Global Endpoints, and SMTP only through Mail Manager. Resend sends from Ireland but keeps account data in the US.

  • Can I use Amazon SES for newsletters?

    For delivery, yes; for building them, no. SES has no editor and no list management, so you need a separate tool on top. If that's why you're leaving, Brevo or Mailjet cover both. For pure newsletter tools, see our email marketing ranking.

Hack'celeration Labs

Get the next migration guide in your inbox

One tool to leave, one destination, one migration plan. Nothing else.

No spam. One-click unsubscribe.