June Offer Every MAX plan gets a fully custom-built system Free custom system worth $1,500-$10,000 · worth $1,500-$10,000

Amazon SES SMTP Setup (2026): Regional Endpoints, IAM Per...

Amazon SES SMTP Setup (2026): Regional Endpoints, IAM Permissions, Sandbox Exit

|9 min read|
Amazon SES SMTP Setup (2026): Regional Endpoints, IAM Permissions, Sandbox Exit
Matt KielbasaMatt Kielbasa9 min read

The cheapest path at scale once you are out of the sandbox - roughly $0.10 per 1,000 emails plus $0.12/GB for attachments. Requires more setup than the other providers but the unit economics are unbeatable above ~50k sends/month.

Amazon SES SMTP values
SMTP host
email-smtp.{region}.amazonaws.com - see regional list below
Port
587 (TLS, STARTTLS) or 465 (SSL/TLS) or 2587 (alt TLS)
Username
SMTP username (NOT your AWS access key)
Password
SMTP password (NOT your AWS secret key)

Regional SMTP endpoints

SES SMTP credentials are unique per AWS region. If you send from more than one region, you must generate a separate set of credentials per region. The 15 currently active SMTP endpoints:

Available SES SMTP endpoints (2026)
us-east-1
email-smtp.us-east-1.amazonaws.com (N. Virginia)
us-east-2
email-smtp.us-east-2.amazonaws.com (Ohio)
us-west-2
email-smtp.us-west-2.amazonaws.com (Oregon)
ca-central-1
email-smtp.ca-central-1.amazonaws.com (Canada)
eu-west-1
email-smtp.eu-west-1.amazonaws.com (Ireland)
eu-west-2
email-smtp.eu-west-2.amazonaws.com (London)
eu-central-1
email-smtp.eu-central-1.amazonaws.com (Frankfurt)
eu-north-1
email-smtp.eu-north-1.amazonaws.com (Stockholm)
eu-south-1
email-smtp.eu-south-1.amazonaws.com (Milan)
ap-south-1
email-smtp.ap-south-1.amazonaws.com (Mumbai)
ap-northeast-1
email-smtp.ap-northeast-1.amazonaws.com (Tokyo)
ap-northeast-2
email-smtp.ap-northeast-2.amazonaws.com (Seoul)
ap-southeast-1
email-smtp.ap-southeast-1.amazonaws.com (Singapore)
ap-southeast-2
email-smtp.ap-southeast-2.amazonaws.com (Sydney)
sa-east-1
email-smtp.sa-east-1.amazonaws.com (Sao Paulo)

Required IAM permissions (the console gotcha)

The IAM user clicking "Create SMTP Credentials" must have permission to create OTHER IAM resources, because SES generates a new IAM user behind the scenes. You need all five:

  • iam:CreateUser
  • iam:CreateGroup
  • iam:PutGroupPolicy
  • iam:AddUserToGroup
  • iam:CreateAccessKey

Without all five, the console either errors or (worse) silently creates credentials without the right SES sending policy attached, and your sends fail with "554 not authorized".

Generate your SMTP credentials

  1. Sign in to the AWS Console and open console.aws.amazon.com/ses/.
  2. Switch to the AWS region you will send from (top-right region picker).
  3. Left nav, click SMTP settings.
  4. Click Create SMTP credentials in the upper-right. AWS opens the IAM console.
  5. Leave the auto-suggested user name OR rename to something memorable like "ses-smtp-inflowave-us-east-1".
  6. Click Create user.
  7. Click Show next to SMTP password. Copy username + password OR click Download .csv file.
  8. Click Return to SES console.

One-time view: AWS does NOT show the SMTP password again. If you lose it, delete the IAM user and repeat the process.

Connect to Inflowave

  1. Inflowave → SettingsEmailAdd sending domainCustom SMTP.
  2. Host: the regional endpoint matching your region (e.g. email-smtp.us-east-1.amazonaws.com).
  3. Port: 587.
  4. Username: the SMTP username from the CSV (NOT your AWS access key - they look similar, double check).
  5. Password: the SMTP password from the CSV (NOT your AWS secret key).
  6. Save, send a test.

Get out of the SES sandbox

Until you request production access, SES is sandboxed: you can only send TO verified addresses, only 200 emails per 24 hours, and only 1 email per second. To request production access:

  1. SES console, Account dashboard.
  2. Top banner, click Request production access.
  3. Fill out the use-case form - be specific about volume, bounce handling, and unsubscribe mechanism. Vague applications get rejected.
  4. AWS typically responds within 24-48 hours.

Troubleshooting

"554 Message rejected: Email address is not verified"

You are in sandbox. The recipient (or your From address) must be verified in the SES console until you request production access.

"535 Authentication Credentials Invalid"

You pasted the AWS access key + secret instead of the SMTP username + password. They are different values - regenerate via SMTP settings.

"554 not authorized"

The IAM user backing your SMTP credentials lacks the SES sending policy. This usually means you skipped the IAM permission step. Recreate the credentials via SES console (don't manually create the IAM user).

"Throttling: Maximum sending rate exceeded"

You hit the per-second rate cap. In sandbox the cap is 1/sec; in production it scales with your reputation. Lower concurrency in Inflowave or wait for AWS to raise your cap.

September 2024 IAM migration note

SMTP credentials created after Sept 6, 2024 use a group policy attached to the IAM user. Older credentials use an inline policy. Both work, but the group-policy version is more secure and AWS recommends migrating. The migration steps are documented in the AWS SES "Migrating a SMTP user from an existing inline policy to a group policy" section of their docs (link below).

Official sources

2026 OPERATOR REPORT

The Agency Profit Playbook Is In

How do 80+ agency operators rate their own pricing, retention, and margin? The Agency Profit Playbook has the benchmarks.

You can unsubscribe in one click. Privacy Policy

The Agency Profit Playbook 2026 cover

Ready to send through Amazon SES?

The cheapest path at scale once you're out of sandbox. Requires more setup.