Why your Resend or SES account gets paused after a signup spike (and how to stop it)
By Steve Danby, founder of SentriSend, 27 October 2026
Your email account can be paused after one bad day of signups, even if you never sent a single spam message. Here is why, and what to do about it before it happens.
Picture a small app (this one is invented, but the pattern is common). It sends about 100 emails a day: confirmation links, password resets, receipts. One morning it is mentioned in a popular newsletter and 400 people sign up in an hour. Forty of them mistype their address or use one that never existed. Forty confirmation emails bounce within minutes. By lunchtime the developer gets a warning from their email provider, and by the evening sending is paused. Real customers are now not receiving their password resets.
The limits are published, and they are low
Email providers watch two numbers: the share of your messages that bounce (the address does not exist or cannot receive mail), and the share that recipients mark as spam.
- Resend asks senders to stay under a 4% bounce rate and under a 0.08% spam rate. Going over either can lead to a temporary sending pause.
- Amazon SES automatically places an account under review at a 5% bounce rate or a 0.1% complaint rate, and might pause sending at 10% bounces or 0.5% complaints.
These figures come from each provider's own documentation as of October 2026. Check the current pages before you rely on them.
Why small senders get caught
A percentage is fair over the long run but jumpy over a short one. Providers look at your recent sending, so what matters is how much good mail surrounds a spike. A busy sender with thousands of normal emails in that window barely notices five bad addresses. A small app that sends 100 emails on a quiet day sees the same five as a 5% bounce rate. The addresses are no worse; there is just less good mail around them to dilute the spike.
Signup forms make it worse. They are the one place where strangers type addresses by hand, and where people deliberately enter fake ones to get past a gate. A typo like gmial.com, a throwaway address, or a made-up domain will often bounce.
The other trap is timing. A bounce problem usually arrives as a spike, not a slow drift, and a spike can cross a threshold before you have looked at a dashboard.
What actually helps, in order
Each step catches a different kind of bad address. Do the cheap ones first.
- Check the shape. One @, something on each side, no spaces. Keep it simple; clever patterns reject real addresses.
- Check the domain can receive mail. A domain with no mail servers will always bounce. In Node this is a few lines:
Some domains legitimately accept mail without MX records, so treat a failure as a warning for a signup form rather than a hard block if you want to be generous.import { promises as dns } from "node:dns"; async function domainHasMailServer(email) { const domain = email.split("@")[1]; try { const records = await dns.resolveMx(domain); return records.length > 0; } catch { return false; // no MX records or no such domain (simplified: also false on temporary DNS errors) } } - Block disposable domains. Throwaway inboxes often vanish after the first email. Use a maintained list of disposable domains and refresh it regularly.
- Confirm before you send anything else. Send only the confirmation link, and send nothing more until it is clicked. An unconfirmed address then costs you one email, not twenty.
- Stop sending to hard bounces. When your provider reports an address as permanently undeliverable, never send to it again.
- Watch your own bounce rate. Check it daily and set an alert at about half of your provider's limit, so a spike warns you before it pauses you.
Where SentriSend fits
I built SentriSend because I wanted steps 2 to 6 handled in one place. You can use it only to check addresses before you send with any provider, or you can send through it.
It checks an address before you send: disposable-domain screening and live DNS and mail-server checks. Sending through it adds a protection layer per API key: if hard bounces start rising, it warns, then slows, then pauses sending for that key, to help stop a spike before it reaches your provider's limit. Every accepted send gets a signed receipt and an audit record that leaves out the recipient, subject and body.
What it does not do:
- It does not guarantee inbox placement, and it does not replace your provider's own account health.
- It only knows about mail sent through it. Bounces from elsewhere on your account are invisible to it.
- The bounce protection has automated tests but I have not yet run it against a real provider's suspension limits. I will say here when I have.
- It is new, from a small company, with no customer case studies yet.
Try it
The free plan gives you 100 requests a month and no card is needed; you verify your email address and get a key. Free keys can send only to your own address, which is enough to see how the checks and receipts work. Pro is $29 a month for 50,000 requests and sending to any recipient. Details are on the pricing page.
If you try it and something is unclear or broken, email me at steve@sentrisend.com. I read every message and I would rather hear about a problem than lose you quietly.
Whatever you use, do steps 1 to 6. A paused email account on a launch day is a worse problem than a few lines of validation.