4.7.28

Enhanced Status Code 4.7.28: Mail Flood Detected - Temporary Rate Limit

Temporary failure High severity Security RFC 7372
What it means

Enhanced Status Code 4.7.28 means “Mail Flood Detected - Temporary Rate Limit.” The receiver has decided your traffic looks like a flood and is throttling it. This is the code Gmail returns most often when it rate limits a sender, and it is a reputation signal rather than a capacity one.

At a glance
Code4.7.28
Bounce typeSoft (temporary)
SeverityHigh
CategorySecurity
What to doQueued and retried automatically
StandardRFC 7372
What it looks like in your mail logs
421 4.7.28 Our system has detected an unusual rate of unsolicited mail originating from your IP address. To protect our users from spam, mail sent from your IP address has been temporarily rate limited

What does 4.7.28 mean?

Enhanced status code 4.7.28 is registered for a message that appears to be part of a flood of similar abusive messages. Google returns it more than any other rate limiting code, across at least eight distinct message texts covering unusual volume from an IP address, from an IP netblock, from a DKIM domain, from an SPF domain, from a URL domain in the message body, and from a sender exceeding its Message-ID quota.

The important thing to understand is what is being rate limited. Google names the dimension in the text: if it says the DKIM domain, throttling follows your signing domain wherever it sends from, and moving to fresh IP addresses will not help. If it names the netblock rather than the address, a neighbour on shared hosting is affecting you. If it names a URL domain, the link target in your content is the problem rather than your infrastructure at all. Reading which dimension is named is the whole diagnosis.

Because it is temporary, a well-behaved MTA will back off and eventually deliver. That masks the real signal. A sustained 4.7.28 rate means the receiver has formed a negative opinion and is holding you at arm's length, and it typically precedes a permanent 5.7.28 by days. Treat a rising 4.7.28 share as the earliest actionable warning you get.

How 4.7.28 plays out

Your server attempts delivery
The recipient defers with a temporary 4.7.28 reply
Your server queues the message and retries on a back-off schedule
It delivers on a later attempt, or becomes a hard bounce if it keeps failing

Where 4.7.28 sits: soft vs hard bounce

Soft bounce (4xx) Hard bounce (5xx)
NatureTemporaryPermanent
SMTP class4xx5xx
What to doLet it retrySuppress the address
Recoverable?OftenNo
4.7.28 is✓ this code

What each provider means by 4.7.28

A registered code does not oblige a provider to use it that way, and the large ones diverge. Match the wording in your own bounce, not the definition above.

Gmail Unusual rate of unsolicited mail from an IP, netblock, DKIM domain, SPF domain or URL domain Reference
IANA registry Mail flood detected Reference

Common causes of 4.7.28

  • Sending volume rose faster than the receiver expects from your IP or domain
  • Recipient complaints or spam-folder placement have pushed reputation down
  • A shared IP netblock is being throttled because of a neighbouring sender
  • A URL domain used in your message body carries poor reputation of its own
  • Messages were sent with duplicate or malformed Message-ID headers
  • A new IP address is sending at volume before any sending history exists

How to fix 4.7.28

  • Read the deferral text and note which dimension it names: IP, netblock, DKIM domain, SPF domain, or URL
  • Reduce volume to the affected provider immediately and resume gradually
  • Check IP and domain reputation with Sender Reputation Checker and Google Postmaster Tools
  • If a URL domain is named, audit the link targets and any redirect or shortener service
  • Confirm every message carries a unique, well-formed Message-ID
  • Warm new IP addresses over two to four weeks rather than sending at full volume

Frequently asked questions

What does 421 4.7.28 mean from Gmail?
It means Gmail has detected an unusual rate of mail it considers unsolicited and is temporarily rate limiting you. It is a soft bounce, so your server should retry and the mail usually delivers eventually. What matters is the text after the code, which names what Gmail is throttling: your IP address, your netblock, your DKIM domain, your SPF domain, or a URL domain found in the message body.
How long does a 4.7.28 rate limit last?
Typically hours rather than days, and it lifts on its own if the underlying behaviour changes. But the duration is the wrong thing to focus on. A single 4.7.28 is noise; a sustained share of them means Gmail has formed a negative view of your sending and is holding you back deliberately. That state does not time out, it has to be corrected.
Why does 4.7.28 keep happening after I reduced volume?
Because volume may not be the dimension being limited. If the text names your DKIM domain, throttling follows the signing domain regardless of which IP you send from, so reducing volume on one IP achieves nothing. If it names a URL domain, the problem is a link in your content. Read the named dimension before changing anything.
Is 4.7.28 the same as 5.7.28?
They are the temporary and permanent forms of the same judgement. 4.7.28 defers and expects a retry; 5.7.28 refuses outright. Senders who ignore a rising 4.7.28 rate generally see it escalate to 5.7.28, because the underlying reputation problem was never addressed. Treat the temporary form as the warning it is.
Does a Message-ID quota error really cause this?
Yes, and it catches people out. Google rate limits senders that exceed a Message-ID quota, which in practice means sending many messages that reuse the same Message-ID or generate malformed ones. Some homegrown sending code and some misconfigured mail merge tools do exactly this. Confirm every message gets a unique, syntactically valid Message-ID.
Reviewed by Jennifer Jackson, Email Deliverability Analyst · June 2026 ← All bounce codes