All dispatchesView as Markdown

Gmail reputation-based bounces: diagnose, contain, and recover

MC
Maya ChenDeliverability at Email Bump

An incident guide to Gmail 4.7.x and 5.7.x responses, sender-level classification, safe retries, Postmaster Tools, abuse containment, and reputation recovery.

A Gmail reputation response means the message did not merely land in spam. Gmail deferred or rejected it during SMTP, before the recipient could see it, move it to the inbox, or tell Gmail that the decision was wrong.

That makes the incident operationally different from poor inbox placement. You need to preserve the exact response, determine which identity or behavior Gmail named, contain the responsible traffic, let temporary retries behave safely, and rebuild trust without creating duplicate mail or moving the same bad behavior to another domain.

Incident workflow for Gmail reputation-based SMTP responses from diagnostic code through classification, containment, retry, and recovery
FIG.The response text names the likely scope. Preserve it, separate temporary from permanent failure, contain the affected traffic, and verify recovery before scaling again.

First: a 4xx response is not a final bounce yet

Teams and dashboards often use “soft bounce” for any 4xx response. In SMTP, a 4xx class means the current attempt failed temporarily and a later attempt may succeed. A capable sending provider queues the message and retries with backoff until Gmail accepts it or the message reaches its expiry policy.

A 5xx response is permanent for that request. Retrying the same message without changing the condition is not appropriate. But permanent still does not mean the recipient address is invalid: a 5.7.x response usually describes security, authentication, policy, or reputation rather than mailbox existence.

State model
API accepted → queued → Gmail attempt
                         ├─ 2.x.x accepted
                         ├─ 4.x.x deferred → bounded retry → accepted or expired
                         └─ 5.x.x rejected → no retry until condition changes

Recipient suppression:
5.1.1 nonexistent mailbox             → usually yes
4.7.x / 5.7.x sender or policy issue  → no

Capture the entire Gmail diagnostic

The basic SMTP reply, enhanced status code, and human-readable text all matter. “421” alone says temporary. “4.7.28” narrows the category. The text may identify unusual rate, unsolicited traffic, the DKIM domain, SPF domain, URL domain, IP address, or duplicated Message-ID. Google also appends identifiers and often a help link.

Evidence to retain
provider_event_id     For webhook deduplication
message_id            Your immutable message identifier
smtp_reply             421, 451, 550…
enhanced_status        4.7.0, 4.7.28, 5.7.32…
raw_diagnostic         Full unmodified Gmail response
attempt_number         Attempt sequence and timestamps
recipient              Exact destination attempted
sending_ip             Connecting infrastructure
from_domain            Visible RFC 5322 From domain
dkim_domains           Every signing d= identity and result
spf_domain             Return-Path / MAIL FROM identity and result
url_domains            Redirect and destination domains
stream / tenant        Operational source and owner
template / campaign    Content and audience context

Store a normalized classification for automation and the raw diagnostic for investigation. Gmail’s wording and catalog can evolve; a parser that discards the source response cannot be corrected later.

Translate the response into an operational scope

Google’s current SMTP documentation exposes several distinct 4.7.x families. They may look similar in a generic “ISP block” bucket, but the first response should differ.

Gmail responses and first actions
RESPONSE    DIAGNOSTIC SCOPE                    FIRST ACTION
421 4.7.0  Very low sending-domain reputation    Contain affected domain/streams
421 4.7.0  Very low sending-IP reputation        Inspect IP traffic and ownership
421 4.7.0  Suspicious content or links            Inspect message and every URL hop
421 4.7.26 Unauthenticated / auth did not pass    Fix SPF or DKIM before scaling
421 4.7.27 SPF failed for bulk mail               Repair SPF authorization
421 4.7.28 Unusual or unsolicited email rate      Isolate source and slow traffic
421 4.7.28 DKIM/SPF/URL domain named              Contain traffic using that identity
421 4.7.30 DKIM failed for bulk mail              Repair signing and verification
421 4.7.40 DMARC record or policy missing          Publish a valid DMARC record
421 4.7.32 From not aligned with SPF or DKIM       Correct DMARC alignment
421 5.7.32 Alignment failure blocked               Stop; fix alignment before resend

Do not rely on the table as a substitute for the actual diagnostic. The same enhanced code can have several texts, and Google can add cases. Match the exact response, follow the linked Google documentation, and verify the condition from a real message header and your own event data.

Separate reputation, authentication, rate, and content

A Gmail policy response is not automatically a domain-reputation incident. Authentication failures can trigger rate limits. An unusual volume pattern may be the primary cause. One linked domain may be compromised while the sender identities remain correctly configured. Classification prevents an audience cleanup from distracting you from broken DKIM—or a DNS change from distracting you from unwanted mail.

01 / Domain reputationGmail names very low reputation for the sending domain

Inspect every stream sharing the authenticated domain and the behavior preceding the first response.

02 / Unsolicited volume4.7.28 names a DKIM domain after a sudden import

Pause the source, audit permission and recipient quality, and protect unrelated streams.

03 / Authentication4.7.30 reports that DKIM did not pass

Validate selector DNS, signing, body/header modification, and the exact failed messages.

04 / URL reputation or content4.7.28 names a domain contained in message URLs

Inspect branded tracking, redirects, destination pages, user-supplied URLs, and compromise.

Assess impact before changing everything

Find the earliest affected attempt and quantify the smallest coherent scope. Is this only personal Gmail, one Google Workspace domain, or all Google-hosted recipients? One sending IP or all? One DKIM domain, Return-Path, URL domain, campaign, automation, tenant, or template?

Incident matrix
DIMENSION        BASELINE       INCIDENT       QUESTION
Gmail deferrals  0.4%           18.6%          Which enhanced codes?
DKIM domain      news.example   news.example   Which streams share it?
Sending IP       shared pool    one route      What else used that IP?
URL domain       click.example  new redirect   Is it secure and branded?
Audience         recent opt-in  old import     Where did consent come from?
Volume           steady        5× in 40 min    Expected launch or abuse?
Auth pass        stable        DKIM down       DNS, selector, or mutation?
Tenant           distributed   one customer    Can that tenant be paused?
  • Count affected recipients and messages without treating every retry as a new person.
  • Separate active deferrals, final expirations, permanent rejections, and eventual acceptances.
  • Measure queue age against each message’s usefulness and security lifetime.
  • Compare Gmail with other receivers; a Gmail-specific reaction is not evidence of a global outage.
  • Identify whether critical transactional traffic shares identity or infrastructure with the suspected source.

Contain the narrowest unsafe source

Containment should reduce harm quickly while preserving clearly wanted, independent traffic where safe. If one tenant exploited an invitation form, pause that tenant. If one imported campaign created unsolicited volume, stop that campaign. If authentication is broken for an entire domain, pause the affected sender until messages pass again.

  • Stop new enqueueing from the suspected campaign, automation, form, credential, tenant, or integration.
  • Do not purge a retry queue blindly; preserve events and decide whether each message will still be useful after recovery.
  • Rate-limit Gmail-bound traffic when the provider or your sending service recommends it.
  • Protect critical mail only when it uses clean, independently monitored identities and is not part of the cause.
  • Revoke compromised credentials and block malicious URLs before focusing on reputation charts.
  • Record who authorized containment, its exact scope, and the condition required for resumption.

Let temporary retries be deliberate

For a 4xx response, your email provider should normally retry with backoff. More attempts are not always better. Aggressive parallel retries can increase pressure while Gmail is already rate-limiting the sender. Respect queue controls, group responses by Gmail destination, and stop after the product-defined expiry.

Safe temporary-failure handling
if gmail_response.class == 4:
  preserve_raw_diagnostic()
  increment_attempt_without_new_message_id()
  apply_receiver_backoff_and_jitter()
  if now >= message.expires_at:
    finalize_as_expired()
    notify_product_when_action_is_required()
  else:
    keep_queued()

Do not:
  create a new API send on every 4xx webhook
  rotate sender domains between attempts
  suppress the Gmail recipient as invalid

Manual resubmission can duplicate messages if the original queue later succeeds. Use one immutable application message, provider idempotency where available, and a state machine that distinguishes an attempt from a new customer communication.

Verify authentication from the failed message

A DNS lookup shows current records, not necessarily what Gmail evaluated for the failed message. Capture headers and provider events that show the actual DKIM domain and selector, SPF domain and connecting IP, authentication results, visible From domain, and DMARC alignment.

Authentication investigation
SPF
- Did the connecting IP pass for the MAIL FROM / Return-Path domain?
- Is the record valid, within lookup limits, and free of unintended authorization?

DKIM
- Did the signature verify for the d= domain and selector?
- Was DNS available? Did a gateway modify signed content?

DMARC
- Did a passing SPF or DKIM domain align with the visible From domain?
- Is one valid DMARC record published with an appropriate policy?

Ownership
- Which application or vendor produced this exact identity combination?

If only part of the traffic fails authentication, find the divergent route rather than editing the global policy immediately. A forgotten vendor, regional provider path, template mutation, expired selector, or forwarding gateway can create a partial failure hidden by an account-wide pass rate.

Inspect every URL hop

Gmail explicitly documents temporary responses for suspicious content or links and for unusual unsolicited mail containing a URL domain. Expand tracking links through each redirect to the final destination. Check branded tracking domains, third-party click services, open redirects, user-generated links, image hosts, and compromised landing pages.

  • Compare the first affected message with the last known-good message at the URL-domain level.
  • Verify DNS, certificate, hosting, redirects, and final page content from a clean environment.
  • Disable open redirects and prevent customers from turning a trusted tracking domain into a public shortener.
  • Scan user-supplied URLs before sending and enforce tenant-level abuse controls.
  • Avoid replacing one questionable shortener with another; use a controlled branded redirector.
  • Treat website compromise as part of the email incident because the message leads recipients there.

Audit forms, credentials, and tenant abuse

Reputation blocks can develop rapidly when a bot or attacker uses authenticated infrastructure to send unwanted messages. Signup, password-reset, invitation, referral, contact, and share-by-email forms are common amplification paths. A valid API request can still create abusive email.

  • Rate-limit by account, IP, device, destination, tenant, and time window.
  • Deduplicate identical actions and reuse an outstanding token instead of sending another message.
  • Introduce bot challenges when risk increases rather than relying on one static control.
  • Cap invitations and user-generated sends until the initiating account establishes trust.
  • Alert on new countries, user agents, credentials, destination patterns, and URL domains.
  • Give recipients a safe way to report or detach an address they did not submit.
  • Pause one abusive tenant without waiting for an account-wide reputation decline.

Use Postmaster Tools as delayed Gmail evidence

Google Postmaster Tools provides Gmail-specific views of domain and IP reputation, spam rate, authentication, feedback-loop identifiers, compliance, and delivery errors for authenticated traffic to personal Gmail accounts. Add the exact DKIM or SPF authentication domain and important subdomains before an incident.

The data is not real time, uses UTC, and may be absent when volume is below privacy thresholds. During an active incident, your SMTP responses and queue events are the fastest evidence. Use Postmaster Tools to add receiver context, confirm the direction of change, and monitor recovery over subsequent days.

Postmaster correlation
SMTP EVENTS NOW                POSTMASTER CONTEXT LATER
4.7.28 by DKIM domain    ↔  Domain reputation and delivery errors
4.7.0 by sending IP      ↔  IP reputation and delivery errors
4.7.26 / .27 / .30       ↔  SPF, DKIM, and DMARC pass rates
Unsolicited-rate text    ↔  Spam rate and Feedback Loop identifiers
Missing-policy errors    ↔  Compliance status
Gmail-only deferrals     ↔  Receiver-specific trend, not global proof

Fix audience quality without chasing opens

If unsolicited volume or complaints caused the incident, correct the expectation and source. Do not reduce the diagnosis to opens: privacy systems distort them, mailbox placement limits who can open, and low interaction can be a symptom rather than the cause. Use clicks, replies, conversions, account activity, complaints, unsubscribes, bounces, and acquisition evidence together.

  • Stop purchased, scraped, appended, stale, or unverifiable sources.
  • Separate recent active customers from old prospects and dormant accounts.
  • Trace complaints and invalid recipients to the exact form, import, partner, or tenant.
  • Honor unsubscribes and complaint suppressions across every integration and list replacement.
  • Reduce frequency and remove overlapping automations that violate the expected cadence.
  • Make sender identity and message purpose recognizable without deceptive urgency.
  • Sunset recipients using several meaningful signals rather than opens alone.

Recover with controlled, wanted traffic

Recovery begins after containment. Fix authentication, remove abusive sources, secure credentials and forms, repair linked properties, and narrow the eligible audience. Then resume only messages that recipients clearly expect, at a volume your systems and Gmail accept without renewed pressure.

Recovery gates
GATE 1  Causal source stopped and ownership established
GATE 2  SPF, DKIM, DMARC, DNS, TLS, and headers verified
GATE 3  Suspicious links, redirects, and credentials remediated
GATE 4  Retry queue reviewed for usefulness and expiry
GATE 5  Recent wanted cohort selected; suppressions applied
GATE 6  Small Gmail volume accepted without rising 4.7.x
GATE 7  Volume increases only after stable delivery and complaints
GATE 8  Postmaster trends reviewed after normal reporting delay

There is no universal recovery duration or magic warming schedule. Gmail’s evidence updates on its own timelines, and each incident has a different history. Increase based on observed acceptance and recipient response, keep change logs, and roll back when deferrals return.

Keep the product honest while mail is delayed

A reputation incident becomes a customer-experience incident when verification, password reset, receipts, or alerts remain in a retry queue. Your application should understand final acceptance, active deferral, expiry, and permanent rejection rather than showing “email sent” after the API merely queued a request.

  • Show a neutral in-product status when a time-sensitive message is delayed.
  • Let an authenticated customer correct and verify a destination address.
  • Expire and regenerate security tokens instead of delivering stale links.
  • Avoid sending repeated copies through a second provider while the first is still retrying.
  • Notify operations when queue age approaches the product’s usefulness threshold.
  • Maintain a safe fallback channel only where identity, privacy, and authorization are clear.

Run the incident from one shared timeline

Gmail reputation incident runbook
0–15 MIN   Preserve diagnostics; confirm 4xx vs 5xx and scope
15–30 MIN  Pause the narrowest suspect source; protect evidence
30–60 MIN  Compare auth, IP, DKIM/SPF/URL domains, volume, and changes
1–2 HOURS  Secure abuse paths; review queue expiry and customer impact
SAME DAY   Correct source, audience, auth, links, or infrastructure
NEXT SEND  Resume a controlled wanted cohort; watch SMTP responses live
NEXT DAYS  Correlate Postmaster reputation, errors, spam, auth, and FBL
FOLLOW-UP  Add source thresholds, domain ownership, alerts, and runbook changes

Engineering owns queue state, authentication, and abuse controls. Lifecycle owns audience, cadence, and campaign sources. Security owns compromise and malicious destinations. Support owns customer messaging. Deliverability connects provider evidence across those teams. Assign one incident lead so parallel fixes do not create new identity and volume changes mid-investigation.

Common mistakes

  • Suppressing Gmail recipients because a sender-level 4.7.x or 5.7.x response was labeled a hard bounce.
  • Creating a new send for every temporary failure while the original provider queue is still retrying.
  • Treating every 4.7.x response as reputation without reading authentication, rate, content, and URL details.
  • Changing copy while ignoring a broken DKIM signature or compromised form.
  • Waiting for Postmaster Tools before containing an obvious live SMTP incident.
  • Assuming missing Postmaster data means reputation is healthy.
  • Sending promotions through transactional identities to manufacture positive engagement.
  • Rotating domains, IPs, or providers while keeping the same unwanted audience and behavior.
  • Resuming the entire database after one successful seed test.
  • Reporting “sent” to customers when a time-sensitive message is still deferred.

Gmail reputation-response checklist

  • Retain the full Gmail response, enhanced code, message, attempts, identity, URLs, stream, tenant, and owner.
  • Distinguish temporary deferral, expiry, permanent policy rejection, and invalid recipient.
  • Classify the named scope: IP, domain, authentication, rate, URL, content, stream, or recipient.
  • Contain the narrowest unsafe source and preserve critical traffic only when independently clean.
  • Use bounded provider retries with message-purpose expiry and idempotency.
  • Verify SPF, DKIM, DMARC, alignment, TLS, PTR, and headers from affected traffic.
  • Expand every redirect and secure tracking, destination, and user-generated URL domains.
  • Audit forms, credentials, tenants, imports, and automations for sudden abuse.
  • Correlate live SMTP evidence with delayed Postmaster reputation, spam, auth, FBL, and errors.
  • Resume recent wanted traffic gradually and roll back if reputation deferrals return.
  • Keep customer-facing product state accurate while messages are delayed.
  • Document the incident and alert on the leading signal that appeared first.