Registered AWS Partner · Free AWS invoice analysis and free migration to AWS for eligible workloads. See AWS offers →
lightbulbDid you know?Security & compliance11 Nov 2026

AWS Paused Your SES

Your Contact Form Got Abused and AWS Paused Your SES. Would You Even Know?

Most websites send lead notifications through Amazon SES. It's cheap and reliable until a bot finds your form. Bots submit thousands of fake or stolen email addresses. If your form emails the person who submitted it ("Thanks for contacting us!"), every fake address becomes a bounce, and every real but unwilling recipient becomes a spam complaint.

AWS watches both numbers closely. Cross the line and SES first puts your account under review, then pauses sending for the whole AWS account. That means lead notifications, password resets, invoices and order confirmations all stop at once.

The worst part: nothing on your website looks broken. The form still says "Thank you." You just stop getting leads, and you find out days later.

The thresholds AWS uses

Metric Under review Sending can be paused
Bounce rate 5% 10%
Complaint rate 0.1% 0.5%

A single night of form-bombing can push a small account past these numbers.

6 ways to find out SES has been paused

1. Your own application logs (fastest, if you don't swallow errors)

Once sending is paused, every SES API or SMTP call is rejected with a "sending paused" error. Many websites wrap the email call in a try/catch and carry on silently. Instead:

  • Save the lead to your database before sending the email, so a failed email never means a lost lead.
  • Log every failed send, and alert on it through a channel that doesn't use SES, such as WhatsApp, SMS or Slack.

2. The email AWS sends you

AWS emails the address on your AWS account when your account goes under review and again when sending is paused. The problem is that this is often an old founder inbox or a shared account nobody reads. Make sure the account's email, and the Operations alternate contact, go to someone who acts on them.

3. The SES console

The SES Account dashboard shows your status as Healthy or Paused. The Reputation metrics page shows your bounce and complaint rates, plus statuses like Under review and Pending sending pause. It's useful, but only if someone looks.

4. AWS Health Dashboard + EventBridge

When AWS pauses sending, it adds an "SES sending paused" event to your AWS Health Dashboard. Better still, create an EventBridge rule that matches AWS Health events for SES and sends them to SNS. From there, forward them to SMS, email or a webhook for WhatsApp/Slack:

{
  "source": ["aws.health"],
  "detail": { "service": ["SES"] }
}

5. CloudWatch alarms, before the pause happens

SES publishes Reputation.BounceRate and Reputation.ComplaintRate to CloudWatch (namespace AWS/SES). Set alarms well below the AWS thresholds, for example 2% bounce and 0.05% complaint. Then you get warned while the attack is happening, not after the damage is done.

6. A scheduled status check

A small cron job that asks SES whether sending is enabled. It catches a pause no matter what caused it:

#!/bin/bash
# Run every 15 minutes from cron
REGION="ap-south-1"
ENABLED=$(aws sesv2 get-account --region "$REGION" --query 'SendingEnabled' --output text)
STATUS=$(aws sesv2 get-account --region "$REGION" --query 'EnforcementStatus' --output text)

if [ "$ENABLED" != "True" ] || [ "$STATUS" != "HEALTHY" ]; then
  # Alert through something that is NOT SES: SMS, WhatsApp API, Slack webhook
  aws sns publish --region "$REGION" --topic-arn "arn:aws:sns:$REGION:123456789012:ops-alerts" \
    --message "SES problem: SendingEnabled=$ENABLED, Status=$STATUS"
fi
Better: don't let the form get abused
  • Don't email the address typed into the form. Send the notification to your own team only. This one change removes most of the bounce and complaint risk.
  • Add a bot check (Cloudflare Turnstile, reCAPTCHA) and a hidden honeypot field.
  • Rate-limit submissions per IP and per email address.
  • Handle bounces and complaints: turn on the SES account-level suppression list, and send bounce and complaint notifications to SNS.
  • Separate risky email into its own configuration set, or even its own AWS account, so a problem with marketing or form email can't stop your transactional email.

Want this set up for you?

We set up SES monitoring with WhatsApp, SMS and email alerts, protect forms from bots, and set up bounce handling so a bot attack doesn't take down your email. Write to us at hello@bluecurrentlabs.com.

All tips
Keep reading

More from Did you know?

Get in touch

Got a question about this?

An engineer, not a salesperson, will reply within one business day. Database health checks are free for qualifying production workloads.

languagebluecurrentlabs.com
location_onGurugram, India · Dover, Delaware, US
workspace_premiumRegistered AWS PartnerbadgeEx-AWS & Google Cloud teammilitary_techAWS & GCP certifiedhistory25+ years experiencestorefrontShopify Partner

By submitting, you agree to our privacy notice. We use your details only to respond to this enquiry.