Production Access Guide
How to get AWS SES production access approval.
Learn how to move out of the AWS SES sandbox and start sending emails to any recipient.
When you first set up AWS SES, your account is placed in sandbox mode. This is a safety measure to prevent abuse. You'll see this warning banner in your SES console:

While in the sandbox, you have these restrictions:
Once you have production access, you can send to any recipient (your "From" address must still be verified).
Verify your domain first for faster approval
AWS recommends verifying your sending domain before requesting production access. This significantly speeds up the approval process. See our Domain Verification guide for instructions.
There is a 16-point pre-request checklist that covers the technical setup, the account profile and the request itself. It ticks off as you go and remembers where you got to.
You can also request production access using the AWS CLI:
aws sesv2 put-account-details \ --production-access-enabled \ --mail-type TRANSACTIONAL \ --website-url https://yourapp.com \ --additional-contact-email-addresses you@yourapp.com \ --contact-language ENReplace TRANSACTIONAL with MARKETING if you primarily send marketing emails.
AWS typically responds within 24 hours. If they need additional information, the review may take longer. You cannot edit your request while it's under review.
Once approved, the sandbox warning will disappear from your dashboard:

A denial is not final. AWS delivers the decision through a Support Center case tied to your request, and that case is where you reply with more detail. You can also submit a fresh request from the SES console once the review has closed.
The SES account details carry the latest review status and the support case ID:
aws sesv2 get-account \ --query '{Production: ProductionAccessEnabled, Review: Details.ReviewDetails}'| Status | Meaning |
|---|---|
| PENDING | AWS is still reviewing the request. |
| GRANTED | Production access is on. The sandbox banner disappears. |
| DENIED | AWS declined. Open the case ID in Support Center and read the reason they gave. |
| FAILED | An internal error on the AWS side and the request never reached review. Submit it again. |
The request form only asks for an email type, a website, and contact addresses, so AWS has to infer your sending practices from very little. Denied requests usually share one of these gaps:
Paste the denial into the request builder
The SES production access request builder matches a denial against these same gaps and drafts the reply for the support case. It runs in your browser — the text you paste is not uploaded anywhere.
Answer the questions the form never asked. Reply on the support case with a short, specific description like this one, then adjust it to match what you actually send:
We send a weekly newsletter to customers of <product> (<website URL>).How recipients opt in: every address on the list signed up through the format <signup URL> and confirmed by clicking a link in a confirmation email.We do not buy, rent, or scrape lists.Volume: about <N> emails per week to <N> subscribers, growing at roughly<N> new signups a month.Bounces and complaints: the SES configuration set publishes bounce andcomplaint events to EventBridge. Hard bounces and complaints are removedfrom the list automatically and added to the account-level suppressionlist.Unsubscribe: every email carries a one-click unsubscribe link in the bodyand List-Unsubscribe headers. Requests are honored immediately.Sending domain: <domain> is verified in SES with DKIM, SPF, and DMARC inplace.Fix the gap before you reply, not after
If the domain is not verified, verify it first. If the site has no signup form or privacy page, add one. A reply that describes a process AWS cannot see on your site or in your account does not help your case. Wraps sets up the bounce and complaint pipeline and the suppression list during wraps email init, so you can describe it accurately.
Set up DKIM, SPF, and DMARC for better deliverability.
Domain VerificationOnce approved, start sending with the Wraps SDK.
Email Quickstart