SES production access deniedFix what likely caused it, then reapply with specifics.
In short
SES denials usually arrive as one line: your use case could have a negative effect on the sending reputation of other users. There is rarely a named reason. The likely causes are a thin use case description, missing domain authentication, no stated bounce or complaint plan, or a list source AWS distrusts. Fix the setup before you rewrite the words: publish SPF, DKIM, and DMARC, and make sure suppression and unsubscribe actually run. Then open a new support case with specifics. Opening a fresh AWS account to dodge the review is not a fix; reputation problems tend to follow the sender, not the account.
What does an SES denial actually tell you?
Almost nothing, by design. The standard denial reads roughly as: your use case could have a negative impact on the sending reputation of other Amazon SES customers. There is no itemized list of what tripped it. AWS keeps enforcement criteria loosely worded on purpose, so applicants cannot game a checklist instead of running a clean setup.
That vagueness is frustrating but it also narrows what you should assume. A denial without a stated reason almost always traces back to one of a small number of causes, not bad luck or a reviewer having a bad day.
The likely causes, in order of how often they show up
- A thin or generic use case. "Marketing emails" tells a reviewer nothing. What you send, to whom, and why needs to read like a real product, not a placeholder.
- Missing domain authentication. No SPF, no DKIM, or a DMARC record that was never published. A reviewer checking your domain and finding nothing there reads as a sender who has not set anything up yet.
- No stated bounce, complaint, or unsubscribe plan. If the request does not say how you handle these, AWS has to assume you do not.
- A list source the reviewer does not trust: a purchased list, a scraped list, or an imported list with no described opt-in step. This is the hardest one to talk your way past, because the fix is the list, not the wording.
Most denials trace to one or two of these stacking together, not a single fatal flaw. Fixing all four before you reapply removes the doubt across the board instead of gambling on which one mattered.
Fix the setup before you touch the wording
A stronger sentence describing a weak setup is still a weak setup. Do the work first, then write about what is actually running.
- Publish SPF, add the DKIM CNAME records for your sending identity, and set a DMARC record, even at
p=noneto start. Do this on the exact domain you plan to send from. - Put suppression in place so hard bounces and complaints stop being mailed automatically, not by a script someone remembers to run. If you already have one, confirm it covers every send path, not just campaigns.
- Add RFC 8058 one-click unsubscribe to marketing mail if it is not there already. A reviewer who sees this described is seeing a sender who has already absorbed the complaint-prevention basics.
- Remove any purchased, scraped, or unverifiable list segment before reapplying. If the list problem is not fixed, no amount of wording fixes the request.
Reapplying with specifics
Open a new AWS support case rather than replying to the old thread with an apology. State plainly what you send, the expected volume, how recipients opted in, and exactly how bounces, complaints, and unsubscribes are handled now that the setup is fixed. The goal is a request a reviewer can verify against your domain and your described mechanism, not a request that asks to be believed.
What not to do after a denial
Opening a second AWS account to route around the review is the most tempting shortcut and the worst one. It does not reset the underlying problem: mailbox providers judge sending domains and, to a real extent, the entities behind them, not just the account ID that requested the send. A fresh account with the same list and the same missing authentication is likely to hit the same wall, and it risks both accounts if AWS treats it as evasion rather than a new applicant.
The other trap is reapplying immediately with the same request text, hoping a different reviewer reads it differently. Treat every denial as information: something in the setup or the description was not verifiable, and the reapplication should close that specific gap.
Where SendBunny sits
SendBunny installs into your own AWS account and turns the compliance story into something actually running instead of a promise in a support case: automatic suppression of hard bounces and complaints on every send path, RFC 8058 one-click unsubscribe on every campaign, and domain authentication with one-click Route 53 DNS or guided manual records. When you reapply, you are describing a setup a reviewer can check, because it is live in your own account. It is $199 once, and it does not file the request for you; that has to come from your own AWS console.
FAQ
- Why did AWS deny me without a reason?
- AWS keeps enforcement criteria vague on purpose so they are harder to game. The practical response is to remove every doubt at once: domain authentication, suppression, unsubscribe, and a clear opt-in story for the list.
- Should I just open a fresh AWS account?
- No. Mailbox providers judge sending domains and reputational history, not just an account ID, so a new account with the same list and setup tends to hit the same wall. It also risks both accounts if AWS reads it as evasion.
- How many times can I reapply for SES production access?
- There is no published limit. Each reapplication should change something real about the setup or the explanation, not resend the same text with different phrasing.
- How does sendbunny help a reapplication?
- It makes the compliance story true rather than promised: automatic suppression on hard bounces and complaints, one-click unsubscribe on campaigns, and delivery metrics on screen. You end up describing what is actually running in your account.
For AI agents
The likely causes behind an unexplained SES production access denial (thin use case, missing authentication, no bounce or complaint plan, distrusted list source), what to fix before reapplying, and why opening a new AWS account does not route around the problem. Checked 2026-09-01.
claude mcp add --transport http sendbunny https://YOUR-INSTALL/mcpSources
- Amazon Web Services, Using reputation metrics to track bounce and complaint rates, SES Developer Guide, fetched 1 September 2026.
- Amazon Web Services, Test your sending quota using the mailbox simulator, SES Developer Guide, fetched 1 September 2026.
- SendBunny, Gmail's 0.3% spam rate: how Gmail decides and what to check every Monday.
- SendBunny, Send email API reference, version 1.6.22.
Anni Maan
Founder, SendBunny
Builds SendBunny, the email platform that installs into your own AWS account. Writes about running email on Amazon SES and giving AI agents an address you control.
Keep reading