TL;DR
Gmail is temporarily rate-limiting your sending IP because of an unusual rate of mail it judges unsolicited: transient, not permanent. Retry with backoff and a reduced send rate; do not suppress recipient addresses from this code alone, because the limit is attached to the sending IP, not one recipient. Review Gmail's Bulk Email Senders Guidelines and your authentication and list-hygiene practices before returning to full volume.
What this code means
Gmail's concrete 4.7.28 detail is not confirmed for any class in this catalog's IANA registry mirror: the X.7.28 pattern remains unresolved. Any permanent-class counterpart is banned here and is never published or inferred. Existence and meaning rest solely on the exact corpus-collected Gmail 421 4.7.28 response, not on IANA registry confirmation. It identifies a temporary IP-level rate limit at this attempt, not a permanent block or an addressing error.
Provider examples
421 4.7.28 [x.xx.xx.xx] 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. Please visit https://support.google.com/mail/?p=UnsolicitedRateLimitError to review our Bulk Email Senders Guidelines. - gsmtp<data.sethu@gmail.com>: host alt1.gmail-smtp-in.l.google.com[142.251.9.26] said: 421-4.7.28 Gmail has detected an unusual rate of unsolicited mail originating 421-4.7.28 from your SPF domain [sethu.on.acme.email 15]. To protect 421-4.7.28 our users from spam, mail sent from your domain has been temporarily 421-4.7.28 rate limited. Please visit 421-4.7.28 https://support.google.com/mail/?p=UnsolicitedRateLimitError to 421 4.7.28 review our Bulk Email Senders Guidelines. j18-20020a508a92000000b00534235955d5si930283edj.153 - gsmtp (in reply to end of DATA command)Technical meaning
Gmail's own extension supplies 4.7.28: a temporary-class rejection stating that the sending IP has sent mail at an unusual rate that Gmail judges unsolicited and is therefore currently rate-limited to protect Gmail users. RFC 3463 Section 3.8 defines the general X.7 Security or Policy Status subject class for security- or policy-caused delivery failures, but does not enumerate detail 28. RFC 5248 provides the registry process for additional detail codes and treats Associated Basic Status Code lists as illustrative, not exhaustive. The catalog nevertheless keeps X.7.28 unresolved for every class because it has no confirmed registry entry.
Delivery status
The leading digit 4 denotes a persistent transient failure: Gmail is rate-limiting the sending IP now, but the condition may clear once volume, authentication, and list hygiene improve and Gmail reassesses IP reputation. It is not an assertion that the domain or IP is permanently blocklisted.
- Class
- Temporary failure
- Retry
- Controlled retry
- Suppression
- Check the full context
Retry decision
Retry with backoff, jitter, and a reduced sending rate; do not continue at the volume that triggered the limit. Use successful delivery at the reduced rate, not a fixed schedule, as the signal to stop escalating, then ramp volume back up gradually. Do not stop sending to the domain outright from a single 4.7.28; it is a rate signal, not a permanent rejection.
Suppression decision
Do not suppress or remove a recipient from 4.7.28 alone. The condition is attached to sending-IP behavior and reputation, not a recipient mailbox or address. Base suppression on independent per-recipient signals such as hard bounces or permanent codes.
Common causes
- The sending IP or domain recently increased volume, changed sending patterns, or sent to a list with many unengaged or invalid addresses, and Gmail classified a portion as unsolicited.
- Authentication is inconsistent (SPF, DKIM, or DMARC alignment), or mail comes from a shared or dynamic IP with mixed reputation.
- The accepted Gmail response points directly to its Bulk Email Senders Guidelines (support answer 81126), guidance for this condition rather than a general definition for every provider.
Diagnostic steps
- Inspect the raw SMTP response: confirm 4.7.28 is exactly class 4, never its banned class-5 counterpart, and confirm the basic reply is in the 4xx class (421 in the accepted example).
- Identify the sending IP or domain and correlate it with recent volume, list-source, and authentication changes around the attempt.
- Review the IP or domain against Gmail's Bulk Email Senders Guidelines and, where available, Postmaster Tools for spam rate and IP/domain reputation.
- Reduce rate and retry in a bounded, backed-off way; after deliveries succeed, return volume gradually rather than immediately restoring the prior level.
Actions by owner
Sender
- Pause or throttle sends to the recipient domain instead of continuing at the triggering volume, then retry with backoff after the rate condition has time to clear.
- Review list hygiene and SPF, DKIM, and DMARC before resuming full volume; give the sending administrator the attempt time and complete response.
Sender administrator
- Check Postmaster Tools and sending logs for the relevant IP or domain, confirm authentication alignment, and reduce or increase volume gradually rather than reverting immediately to the prior rate.
- Group repeated 4.7.28 results by sending IP and time; when retries succeed at lower volume, ramp up gradually.
Recipient administrator
- If your organization manages inbound routing or filtering that affects the result, ensure no additional local policy is compounding the rate limit before advising the sender.
- Where policy permits, share the exact response and timing with the sender administrator so they can correlate it with sending logs.
Provider
- Monitor repeated 4.7.28 across the sending IP pool, apply rate control before Gmail's limit, and use an IP warm-up process before high-volume sends.
- Escalate through Gmail postmaster support only if the rate limit persists well past a reasonable remediation window despite confirmed authentication and volume changes.
Sources
These sources define what this enhanced status code means, mainly through the IANA registry and related RFCs. When provider examples appear on the page, they come from that provider's published documentation. Follow the links to read the original wording in context.
- RFC 3463 — Enhanced Mail System Status Codes — Defines the class/subject/detail model for enhanced status codes.
- RFC 5248 — A Registry for SMTP Enhanced Mail System Status Codes — Creates and governs the IANA enhanced status code registry.
- Fix bounced or rejected emails — Gmail Help article covering disabled-account and bulk-sender rate-limit responses.
- email-bounce-parser (test fixture corpus) — Open-source bounce-parsing library whose test fixtures are pinned locally as evidence.
Last verified:

