DELIVERABILITY

Email bounce codes: find the right next step

Read the actual delivery evidence, separate an address problem from a sending problem, and give every failed or delayed message a clear next action.

  • Read the code and its context
  • Check what remains in the queue
  • Assign a justified next action

Put it into practice

Start with the complete failure record

A campaign label such as “bounced” is a starting point. Open the underlying report and find the message, recipient and time to which it belongs. Save the original evidence before editing the contact or campaign. If you cannot join the report to a particular submission, record that gap instead of assigning the nearest-looking event.

Microsoft's Exchange Online documentation separates the explanation for the sender from diagnostic details such as the generating server, rejected recipient, SMTP response and original headers. A report can concern more than one recipient. Preserve those individual outcomes rather than giving every address the first error shown.

For a useful investigation, collect the campaign and step, sending account, envelope recipient, original submission time, latest attempt and current queue status. Use the system's identifiers where available. Keep confidential headers and contact details in the authorised support record; share only the fields needed for the investigation.

This guide begins when you have a delivery failure or delay to interpret. If the only observation is a low reply count, use the broader troubleshooting guide first. If the task is approving a list before import, use List Verification. Neither observation should be relabelled as a confirmed bounce.

Your practical checklist

References [5]

A closer look

Separate the reply, status and explanation

SMTP replies use three digits, such as 452 or 550. RFC 5321 distinguishes temporary negative replies beginning with 4 from permanent negative replies beginning with 5. A permanent reply does not invite the identical request to be repeated unchanged.

Enhanced status codes add a dotted class, subject and detail, such as 5.1.1. RFC 3463 distinguishes temporary conditions from failures unlikely to resolve while the message or destination remains unchanged. The additional digits narrow the reported issue; they do not replace the accompanying explanation.

Keep the raw code strings intact. A sending tool's hard/soft label may simplify several conditions into one category. Before using it to remove a contact or restart a campaign, check how that product defines the label and what the actual report establishes.

Three pieces of one diagnostic record
PieceIllustrative valueHow to use it
SMTP reply550Keep it with the command or delivery attempt that received it.
Enhanced status5.1.1Look up the complete dotted code in the relevant documentation.
Diagnostic textRecipient mailbox was not foundRetain the exact real explanation; this wording is an invented example.

References [1] [2] [6]

Worked example

Read a delivery-status report in context

The example below is an invented message/delivery-status part, not a complete email or a report from Inbox Leads. Its domains, recipient, wording and times are fictional. The retry deadline illustrates one configured queue policy; it is not a recommended or universal retry period.

Read Action with Status. Under RFC 3464, delayed means further attempts are intended; failed means the reporting system has abandoned them. A failed report can still carry a 4.x status when a temporary condition outlasts the retry policy. The first digit alone cannot tell you that mail remains queued.

Before acting on an old delay notice, check the latest sender record. The queue may have progressed while someone was reading the email. Record the time of that check and the owner who made it, so another operator does not launch a second submission based on stale evidence.

Fictional delivery-status part: a temporary storage problem
Reporting-MTA: dns; relay.sender.example
Arrival-Date: Fri, 06 Nov 2026 09:00:00 +0000

Final-Recipient: rfc822; alex@recipient.example
Action: delayed
Status: 4.2.2
Remote-MTA: dns; mx.recipient.example
Diagnostic-Code: smtp; 452 4.2.2 Mailbox storage limit reached
Last-Attempt-Date: Fri, 06 Nov 2026 09:10:00 +0000
Will-Retry-Until: Sat, 07 Nov 2026 09:00:00 +0000
  1. Find the recipient

    Final-Recipient identifies the address covered by this block.

  2. Read the reported action

    The example is a delay notice, not a final abandonment.

  3. Keep the condition

    4.2.2 indicates a mailbox-capacity problem; it does not say that the address is nonexistent.

  4. Locate the explanation

    Remote-MTA identifies the system behind this diagnostic; the reporting system created the notice.

  5. Check current evidence

    The displayed deadline belongs to this fictional queue. Check the actual policy and later events before deciding what to do.

References [2] [3]

A closer look

Choose the investigation from the actual condition

Use the code to narrow the next check, then verify the explanation against the receiving system's current documentation. Google's published examples distinguish 550 / 5.1.1 for a missing account, 452 / 4.2.2 for storage exhaustion and 421 / 4.7.28 for rate-related restrictions. These are specific examples, not a dictionary for every receiving service.

The table turns those observations into operating questions. Assign a responsible person and preserve the original result. If the code, text and log appear inconsistent, escalate the complete record; do not choose the interpretation that makes it easiest to continue sending.

An investigation matrix, not an automatic retry policy
Observed conditionUseful next checkWorking action
Missing mailboxCompare the submitted address with a reliable current source and the report.Hold that address from further outreach while the contact record is resolved.
Mailbox storage limitCheck the latest queue outcome and whether an approved retry remains scheduled.Avoid adding a duplicate message; assign any required follow-up investigation.
Rate or policy restrictionInspect scope, affected routes, receiver guidance and recent changes.Control the affected traffic and address the underlying requirement.
Authentication or configuration explanationCompare the actual sent message and route with the intended configuration.Have the responsible operator verify the fault and the correction.
Unclear or conflicting evidenceObtain the full diagnostic and matching event history.Keep the issue unresolved until the evidence supports a decision.

References [4]

A closer look

Check retries without creating a second queue

Establish which system owns retries for the original submission. An operator may see a delay in a sending tool while the transport already has a later attempt scheduled. Manually pressing send again can create a separate message with its own future attempts. Check the tool and transport behaviour rather than assuming that one visible button controls both.

Use a short event timeline. The fictional example below continues the report above and records the outcome at three review points. It keeps the original message identity throughout; the count of attempts does not become a count of three different messages.

If the system has abandoned delivery, close that original attempt history accurately. Any later submission needs its own decision: what changed, why contact remains appropriate, and how duplicates will be prevented. Preserve exclusions and recipient stop requests even when a technical condition has been corrected.

You do not need to invent a universal retry interval to operate this process. Record the actual service policy, the receiver's documented response and the next review time. Where a pause or cancellation is required, verify the resulting queue state instead of stopping at the control's label.

Fictional continuation of the same message/recipient record
CheckRecorded stateOperator decision
6 November, 09:10 UTCStorage-related delay notice; retry still scheduled.Keep the existing record under review; no manual duplicate.
6 November, 12:00 UTCLatest log still records the same unresolved condition.Retain the hold and confirm the next review owner.
7 November, 09:01 UTCFinal notice records Action: failed and Status: 4.2.2 after the configured deadline.Close the original queue outcome; do not assume another attempt remains pending.

The essentials

Separate contact repair from infrastructure repair

A misspelled recipient needs a different owner from a route-wide configuration fault. For a contact issue, check the source record, explain any correction and apply the appropriate exclusion or hold to future imports. Do not generate nearby address guesses and send until one is accepted.

For a sending issue, give the technical owner the smallest useful evidence set: the affected route, representative message, exact diagnostic, first observed time and recent changes. Identify whether it affects one destination, one account or a wider group. That scope determines what should pause and what evidence the repair must produce.

Keep the repair decision separate from the commercial decision to contact someone. A working address is not evidence of relevance or a reason to disregard a stop request. Similarly, a repaired authentication setting does not justify automatically releasing every held campaign without reviewing its own state.

Write an acceptance condition before the change. “The documented fault is corrected and an authorised controlled check behaves as expected” is more useful than “the dashboard looks better”. Name who can approve the next step and what would cause the hold to remain.

  1. 01

    Name the evidenced problem and its affected scope.

  2. 02

    Assign the contact, campaign or technical owner.

  3. 03

    Record the intended correction and its acceptance evidence.

  4. 04

    Check the queue and exclusions before any approved release.

Put it into practice

Verify the outcome and keep the history

After an authorised correction, use a controlled check appropriate to the fault. Record the message version, route, test recipient you are permitted to use, time and observed result. If the symptom remains, retain that result and return it to the owner. Avoid changing several unrelated settings merely to obtain a different outcome.

A successful check supports a narrow conclusion about the setup tested. It does not establish inbox placement for the whole audience or prove that every old contact can now receive mail. Use the delivery-versus-placement guide when reporting destination evidence, and the authentication guide when examining message identities.

Keep the earlier failure in the incident history. A new successful message is a new observation, not a reason to rewrite what happened to the original submission. This also makes team handovers clearer: another operator can see the problem, the correction and the verification without reconstructing them from chat messages.

Finish with a useful operational note: what was affected, what was corrected, which queue entries remain held, and who will review the next eligible activity. If evidence is still missing, name it. An unresolved case with a clear owner is more actionable than a favourable status with no explanation.

Your practical checklist

Put it into practice

Keep one investigation sheet with the evidence

Copy this record into your team's working notes. Use references to controlled logs rather than pasting unnecessary personal information into a shared document. Update the record when a later event changes the queue outcome, and keep the earlier review timestamp available.

The worksheet is complete when someone else can understand the original observation, reproduce the key checks and identify the next permitted action. It is a way to organise a real investigation, not a substitute for the system's delivery history.

Your bounce and queue investigation record

Copy this worksheet into your own document, then fill it in with your details.

CASE / OWNER / REVIEW TIME:
Campaign / step / sending route:
Message and recipient reference:
Original submission time / timezone:
Original report and log reference:

OBSERVED EVIDENCE
SMTP reply:
Enhanced status:
Exact diagnostic text:
DSN action, if present:
Reporting and remote systems, if present:
Latest attempt / queue state checked at:
Code documentation and interpretation:
Conflicting or missing evidence:

DECISION
Affected scope:
Contact / campaign / technical owner:
Hold or exclusion applied and where:
Retry owner / actual policy / next review:
Duplicate submission check:

CORRECTION AND VERIFICATION
Proposed correction / approval:
Acceptance evidence required:
Controlled check / observed outcome:
Original queue outcome:
Entries still held:
Any later submission decision and reason:
Open task / accountable owner / due time:

Copy this into your own workspace. This page does not inspect a mailbox, parse a live bounce or change any sending queue.

TURN A CODE INTO A CLEAR ACTION

Keep the original evidence, resolve the actual scope and verify what the queue will do next. A useful investigation ends with an owner and a justified decision.

A LITTLE MORE CLARITY

Your questions, answered.

Does a hard bounce always mean the address is invalid?+

No. The label may group several permanent failures. Read the underlying code and explanation before deciding whether the issue belongs to the contact, message, receiving policy or sending configuration.

Does a 4.x status mean the message is still queued?+

Check the latest event and the report's Action field. The worked example shows why the reported condition and the current queue outcome must be read together. Do not create another submission from an old delay notice.

Can I resend immediately after changing the address?+

First verify the correction, contact context, exclusions and original queue state. Any approved later message needs a clear reason and duplicate check. Guessing alternative addresses is not a contact-repair method.

What should I give technical support?+

Provide a controlled reference to the complete diagnostic, affected message and recipient, route, timestamps, current queue outcome and relevant recent changes. State what you observed and what remains uncertain; include only the information needed to investigate.

Sources and further reading
  1. RFC 5321 — SMTP reply classes and retry responsibilities
  2. RFC 3463 — Enhanced status classes and mailbox conditions
  3. RFC 3464 — Delivery-status fields and Action versus Status
  4. Google — Gmail SMTP errors and codes
  5. Microsoft — Nondelivery reports and SMTP errors in Exchange Online
  6. IANA — SMTP Enhanced Status Codes Registry

YOUR NEW SECRET WEAPON

Build your empire.
Command total inbox deliverability.

Take total control over your outreach capacity. Run millions of emails across Google, Microsoft, and private servers & IPs with bulletproof inbox placement from day one.