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.
The ranking is editorial: a sponsored spot is always labeled on its card, and no affiliate link changes a score.
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%.
You're leaving because… go to…
The right alternative depends on what's pushing you out. Usually one line fits. Each card links to the detailed profile below.
Transactional only, no sending quota to negotiate.
Your developers are tired of IAM and SNSResendOne key, a short API, live in an afternoon.
Your app sends over SMTPSMTP2GOChanging host and credentials is often enough.
You also send newslettersBrevo or MailjetTransactional and campaigns in one account.
You need EU data hostingScaleway TEMThe SES model, billed in euros.
You send millions of emails from AWSStay on SESAdd a second provider as a fallback instead.
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.
The tools
Postmark: transactional email with no sandbox and no quota to negotiate
Best for app emailWhy 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
Resend: the fastest switch for a developer team
Fastest to integrateWhy 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
SMTP2GO: a simple SMTP relay, dedicated IP included at 100,000 emails
Easiest over SMTPWhy 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
SendGrid: the well-known platform, with a time-limited free plan
Most widely integratedWhy 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
Mailgun: the developer API, one step up in price
The classic email APIWhy 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
Mailjet: a generous free plan plus a campaign editor
Biggest free planWhy 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
Brevo: transactional and newsletters in one account
All-in-oneWhy 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
Scaleway TEM: the EU-data option that still feels like SES
For EU dataWhy 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
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 plan | First paid plan and price check | |
|---|---|---|
| Amazon SESWhere you start | No permanent free quota: up to $200 in AWS credits | $0.10 per 1,000 emails; dedicated IP $24.95/mo |
| PostmarkApp email | 100 emails a month | Basic $15/mo for 10,000 emails |
| ResendDevelopers | 3,000 a month, 100 a day | Pro $20 (50,000), $35 (100,000); $0.90 per extra 1,000 |
| SMTP2GOSMTP relay | 1,000 emails a month | Starter $10 (10,000); Professional $75 (100,000, IP included) |
| SendGridKnown platform | 60 days, 100 a day | Essentials $19.95/mo |
| MailgunDeveloper API | 100 emails a day | Basic $15; Foundation $35 (50,000); IP $59/mo |
| MailjetBig free plan | 6,000 a month, 200 a day | Essential $19; Premium $29 (15,000) |
| BrevoAll-in-one | 300 emails a day | From around $7/mo; quota shared with marketing |
| Scaleway TEMEU cloud | 300 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.
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.
The steps
Inventory everything that sends through SES, region by region
Day 1List 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
Export the suppression list before anything else
Most importantYour 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
Prepare DNS without breaking current sending
Day 2Add 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
Update the code or SMTP settings
Days 2 to 3If 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
Replace SNS with the destination's webhooks
Day 3On 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
Ramp up on a shared IP first
Weeks 1 to 2Start 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
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
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
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.
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
EnforcementStatusin 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.
Get the next migration guide in your inbox
One tool to leave, one destination, one migration plan. Nothing else.
