How to move from Amazon SES to MailNesto
Export your contacts and designs from Amazon SES, bring them into MailNesto and send your first campaign — usually within a day.
Moving from Amazon SES to MailNesto
Amazon SES is a sending service: it delivers email well but leaves lists, design, automation and reporting to you. Most SES users who come to MailNesto keep SES exactly where it is. Connect it as a delivery server with SMTP credentials from Asia Pacific (Mumbai), Asia Pacific (Hyderabad), Singapore, US or EU regions, and MailNesto handles everything above the pipe. Connecting your own servers depends on your plan; see pricing.
What moves is whatever you built around SES: a subscriber table in your own database, the account-level suppression list, a contact list with topics if you used SES list management, and stored templates. Verified identities, DKIM records and your sending quota stay in AWS.
Five steps to switch
- 1
Export from Amazon SES
No contact database to export. Suppression list: `aws sesv2 list-suppressed-destinations` (paginated JSON; console only views). Contact lists: ListContacts API. VDM tables have an Export button (CSV); CreateExportJob exports metrics/message insights to CSV/JSON.
- 2
Import into MailNesto
Contacts → Import: upload the CSV or Excel file (or paste it), map the columns, choose a list. Import only subscribed people, then paste unsubscribed, bounced and complained addresses into Audience → Suppression list so they never get email again.
- 3
Bring your designs
Retrieve stored templates via GetEmailTemplate / ListEmailTemplates (SES API v2). Then import the .html or .zip in Templates, or start from one of ours.
- 4
Authenticate your domain
Add the SPF, DKIM and DMARC records MailNesto shows you, then send a test. New senders ramp up gradually to protect your reputation.
- 5
Rebuild automations
Start from a recipe (welcome, birthday, win-back, abandoned cart) or build your own journey with branches and goals. Note: Templates use Handlebars ({{name}}, {{#if}}). Default quota is 200 emails/24h and 1 email/sec per Region until raised via Service Quotas. Import your old suppression list before first send.
A short checklist
Keep Amazon SES running until your first campaigns from MailNesto look right.
- Export unsubscribed, bounced and complained contacts too — they must stay suppressed
- Note when and how people subscribed (consent) and keep it in a field
- Download reports you want to keep; engagement history doesn’t move between tools
- Replace merge tags — MailNesto uses
{{first_name}}with optional fallbacks{{first_name|there}} - Update signup forms on your website to MailNesto’s forms or the WordPress plugin
- Send to your most engaged people first while the new sender warms up
Exporting everything from Amazon SES
Menu names change from time to time — the steps below follow Amazon SES’s own help pages, linked at the bottom.
- 1
Export subscribers from your database. Most SES setups keep subscribers in the app’s own database. Export a CSV with email, name, consent date and the fields you segment on, or create a scheduled import in MailNesto that runs a PostgreSQL or MySQL query every hour, day or week.
- 2
Export the suppression list. The console page (Configuration → Suppression list) shows each address with its reason and date but has no export button. Run aws sesv2 list-suppressed-destinations, pass --next-token until it stops appearing, and save the output. Each entry’s reason is BOUNCE or COMPLAINT.
- 3
Export an SES contact list. If you used SES list management, run aws sesv2 list-contacts with a filter for OPT_IN or OPT_OUT and, if needed, a topic. An account has one contact list with up to 20 topics.
- 4
Fetch stored templates. aws sesv2 list-email-templates lists your templates, and aws sesv2 get-email-template --template-name followed by the name returns the subject, HTML and text parts.
- 5
Keep delivery metrics. If you use Virtual Deliverability Manager, its tables have an Export button for CSV.
Amazon SES terms and merge tags in MailNesto
| In Amazon SES | In MailNesto | Notes |
|---|---|---|
| Subscriber table in your app | Contacts | Import once, or keep it in sync with a scheduled database import. |
| Contact list topics | Lists shown as topics in the preference centre | |
| OPT_OUT or UnsubscribeAll | Off the list, or on the suppression list | Suppress only people who opted out of everything. |
| Account suppression list (BOUNCE, COMPLAINT) | Suppression list (Bounced, Spam complaint) | |
| {{contact.firstName}} and other template data | {{first_name}} and custom fields | |
| {{#if}}, {{#each}} and inline partials | Conditional blocks, product blocks and saved templates | |
| Configuration sets with SNS notifications | Bounce & complaint webhooks | Subscribe the Amazon SES URL to an SNS topic; MailNesto confirms the subscription. |
| Sending quota and maximum send rate | Daily limit and speed on the server | Default speed is 14 emails a second. |
| Stored templates | Templates, or transactional templates with templateId |
Rebuilding your Amazon SES automations
- Welcome email sent by your sign-up code → Welcome series, triggered when someone joins the list.
- Birthday job on a cron → Birthday treat, using a Birthday field.
- Re-engagement script → Win back inactive, then Sunset unengaged subscribers.
- Order emails from your app → keep order confirmations on the transactional API, and let Thank-you & review request handle the marketing follow-up a week later.
Common mistakes when leaving Amazon SES
- SES SMTP credentials are not your IAM access keys, and they belong to one region. Create them in the same region you pick in MailNesto, or the connection test fails.
- New SES accounts start in the sandbox and can only send to verified addresses. Request production access before connecting SES for campaigns.
- Set the server’s daily limit to your SES quota. A new account starts with 200 emails a day and 1 a second until you raise it in Service Quotas.
- Paste the SES suppression list into MailNesto’s suppression list before your first campaign, so those addresses aren’t tried at all.
- SES doesn’t HTML-escape template data. If your code escaped values before passing them to SES, drop that step for MailNesto emails: merge values in HTML are escaped for you, and escaping twice shows codes like & in names.
Questions about moving from Amazon SES
Which region should I choose?
The one where your sending domain is verified and production access is approved. Many Indian senders use Mumbai (ap-south-1) or Hyderabad (ap-south-2).
Can I use MailNesto without my SES account?
Depending on your plan, MailNesto’s shared servers can send for you instead. Either way, authenticate your domain with the SPF, DKIM and DMARC records MailNesto shows you.
Does my transactional email have to move?
No. Your app can keep calling SES directly. If you later move it to MailNesto’s transactional API, it can still be delivered through the same SES server.
How do bounces get back to MailNesto?
Through an SNS topic subscribed to the Amazon SES URL on the Sending page. Hard bounces and complaints suppress the address; soft bounces are counted.
Where these facts come from (18 sources)
- docs.aws.amazon.com/ses/latest/dg/sending-email-suppression-list.html
- docs.aws.amazon.com/ses/latest/dg/sending-email-list-management.html
- docs.aws.amazon.com/ses/latest/dg/send-personalized-email-advanced.html
- docs.aws.amazon.com/ses/latest/dg/vdm-dashboard.html
- docs.aws.amazon.com/ses/latest/dg/send-email-smtp.html
- docs.aws.amazon.com/ses/latest/dg/Welcome.html
- aws.amazon.com/ses/
- aws.amazon.com/en/ses/pricing/
- docs.aws.amazon.com/accounts/latest/reference/managing-accounts-india.html
- docs.aws.amazon.com/general/latest/gr/ses.html
- docs.aws.amazon.com/ses/latest/dg/configure-custom-open-click-domains.html
- docs.aws.amazon.com/ses/latest/dg/dedicated-ip-warming.html
- docs.aws.amazon.com/ses/latest/dg/monitor-using-event-publishing.html
- docs.aws.amazon.com/ses/latest/dg/sending-email-subscription-management.html
- help.zapier.com/hc/en-us/articles/8495991780621-How-to-Get-Started-with-Amazon-SES
- wordpress.org/plugins/wp-ses
- aws.amazon.com/about-aws/whats-new/2026/05/amazon-ses-global-deliverability/
- aws.amazon.com/ses/pricing/
Amazon SES is a trademark of its owner. This comparison is our own, made from public information on each vendor’s website (checked November 2026); we aren’t affiliated with them. Plans and prices change — check the vendor’s site before you decide, and tell us if something here is out of date and we’ll fix it.