Skip to content
Gmail and Google Workspace · temporary error

421 4.7.28: too many messages with the same Message-ID

Gmail is turning away further copies of a message because you have sent too many messages that carry the same Message-ID header.

Gmail
Provider
Temporary (4xx)
Class
Sources checked
Author

At a glance

Code
421 4.7.28
Temporary or permanent
TemporaryThe sending server keeps the message and tries again later.
Who has to act
The sender. The fix is on the sending side: your domain, your server or your list.
What the server says
421 4.7.28 …exceeded the quota for sending messages that have the same Message-ID:.

What it means

Every message should carry its own Message-ID, a unique identifier in its header. Gmail counts how many messages from a sender share the same one, and past a quota it temporarily rejects the rest. The usual cause is software that reuses one Message-ID for a whole campaign or for every message it sends, or a loop that delivers the same message again and again. Retrying does not help while the duplicate remains: each message needs a fresh, unique value before it is sent again.

Common causes

  • Sending software or a template that sets a fixed Message-ID.
  • A retry bug or loop that delivers the same message many times.
  • One message sent separately to many recipients with its ID copied each time.

How to fix it

  1. 01Check the Message-ID header on several messages you sent; each should be different.
  2. 02Let your mail library or server generate the Message-ID instead of setting it in code or a template.
  3. 03Look for loops or retry bugs that resend the same message.
  4. 04Once the IDs are unique, resend the rejected messages.

Sources

What this page rests on, checked on 20 Oct 2026. The explanation is ours; the reply text is the server's.

  1. 550 5.7.1Missing Message-ID header.Gmail rejected the message because it has no Message-ID header, or the one it has is not valid.GmailPermanent
  2. 421Service not available.The receiving server is closing the connection and will not take mail right now. The reply is temporary, so the sending server keeps the message and tries again later.StandardTemporary
  3. 5.7.28Mail flood detected.The receiving system thinks the message is part of a flood of similar abusive messages, such as one caused by forged web form signups, and deferred or rejected it.StandardPermanent

Further reading

All 108 Gmail codesEvery code in the wikiPaste your own bounce

Beat · paid monitoring

A heartbeat for your email.

Beat runs every check on this site on a schedule: 41 checks, 33 blacklists and real inbox placement. The moment something breaks, it tells you what broke, why it matters, and the exact fix.

example.comWatching
  • SPFpass
  • DKIMpass
  • DMARCp=none
  • Blacklists0 of 33

Illustrative. Your domain, every few hours.

Also from us:Pulse: your own sending infrastructureConsulting: $65/hr, no retainer