Outbound Wiki

Bounce types and SMTP codes

How hard bounces, soft bounces, blocks and SMTP response codes describe why an email was not delivered.

Treat each bounce as a delivery diagnosis. Start with the recipient-level event, read the server's code and explanation, and decide whether the address is unreachable, the delivery failure is temporary, or the recipient server refused delivery. A bounce is an automated message reporting that a previous message was not delivered or had another delivery problem.1 Feedback can arrive immediately or days later after the sending system finishes its retries.2 One send can bounce for some recipients and be delivered to others.3 Classify the event first, then choose the action. A label alone does not tell you what to do next.

Read the failure in order

Run every delivery failure through the same sequence. Preserve the raw response before assigning a type because its wording often explains what the label leaves unclear.

A message whose From field contains mailer-daemon or Mail Delivery Subsystem can be checked as an automatically generated delivery failure.4 Returned messages may also be called Non-Delivery Reports or Delivery Status Notifications.5

Stage What you are trying to learn Example question
Confirm the event Whether this recipient has a bounce event6 Did this recipient receive the message?
Capture the response The code and explanation returned by the recipient server7 What code and explanation did the server return?
Classify the outcome Whether the result is temporary or permanent Is this something that can clear, or does the address require correction?
Interpret the cause What the response says about the address, mailbox, domain, or recipient server Does the text point to the address, the server, or a delivery policy?
Choose handling Which path this recipient now needs Should this record be corrected, watched, or held out of routine sends?

Keep the recipient, response code, response text, and timing together. That record lets you revisit a classification when the server's wording and the platform's label disagree.

Hard bounces

Use this branch when the response points to an address that cannot receive mail on an ongoing basis. Check the address and domain record before changing its sending treatment.

Hard bounces indicate invalid addresses or addresses that do not exist.8 They can also occur when an address or host server no longer exists, or when the address is invalid or misspelled.9

A response that names an invalid mailbox or invalid domain belongs in this branch. Those category names are used for hard bounces.10 An inactive mailbox can mean the address is disabled, abandoned, or no longer exists on the recipient's server.11

Route the record to correction or suppression handling when the response supports a permanent address problem. Keep the server wording with the record so a bad address, a changed domain, and a disabled mailbox remain distinguishable.

Soft bounces

Use this branch when delivery failed for a condition that may clear. The address can remain usable, so check the cause before deciding what happens next.

A soft bounce is a temporary failure affecting a valid email address.12 In most cases, the address is valid, the message reached the recipient's mail server, and that server rejected it.13

Common causes include a full mailbox, DNS problems, and a server outage.14 An email is deferred before it becomes a soft bounce.15 Read the response for the condition that caused the deferral, then give the record a handling path that matches it.

A temporary result still needs a stopping rule. Repeated soft bounces can lead mailboxes to reject email, just as hard bounces can.16

Blocks and response codes

Treat a block as a recipient-server diagnosis and keep it separate from an address-quality diagnosis until you have read the response. The same broad outcome can appear under different category names, so keep the raw code and text attached to the event.

A hard-bounce result can mean that the recipient email server blocked delivery.17 Recipient-server-error is also used as a bounce category.18 These labels describe the handling path, while the server response helps you decide whether the issue is an invalid address, a temporary server condition, or a policy refusal.

The SMTP Enhanced Status Codes Registry supports success, persistent transient failure, and permanent failure classes for delivery and bounce measures.19 For reporting, document how temporary 4.X.X and permanent 5.X.X outcomes enter your classification instead of treating every delivery status as equivalent.20

Read the code with its description and store both with the event. Then map the result to your own hard, soft, or blocked handling path. A code without its explanation can hide why a recipient server refused delivery.

Count the outcome

Use reporting to keep address problems, temporary conditions, and server refusals separate. The count should help you decide what to correct and what to watch.

Hard and soft bounces both affect sender IP reputation because email service providers consider total bounce rate when deciding whether email reaches a user's inbox.21 Total bounce rate is calculated by adding the hard bounce rate and the soft bounce rate.22

Keep the response-code detail beside those totals. A hard or soft rate tells you how much failed, while the code and explanation tell you where to investigate.

What not to do

These mistakes remove the distinctions that make bounce handling useful.

  • Using one provider's label as a universal rule ignores that ISPs use their own rating systems and definitions.23
  • Leaving domain authentication and DMARC unconfigured skips a recommended step for preventing bounces.24
  • Using a free email service address as the From address skips the recommendation to use an address from a private domain.25
  • A workflow that assumes perfect bounce prediction is unsafe. Mailchimp cannot predict whether an email will bounce.26

Sources

  1. 1
    “A bounce message or just "bounce" is an automated message from an email system, informing the sender of a previous message that the message has not been delivered (or some other delivery problem occurred). The original message is said to have "bounced".”
  2. 2
    “This feedback may be immediate (some of the causes described here) or, if the sending system can retry, may arrive days later after these retries end.”
  3. 3
    “If you are sending an email to multiple recipients, it may bounce for some contacts and be delivered for others.”
  4. 4
    “From contains mailer-daemon or Mail Delivery Subsystem”
  5. 5
    “More formal terms for bounce message include "Non-Delivery Report" or "Non-Delivery Receipt" (NDR), [Failed] "Delivery Status Notification" (DSN) message, or a "Non-Delivery Notification" (NDN).”
  6. 6
    “Bounces refer to issues with a specific recipient.”
  7. 7
    “When you send an email that your recipient’s email server can’t deliver, it sends back a failure response called a bounce message that usually includes a code and description of the cause of the failure.”
  8. 8
    “Hard: A hard bounce indicates an invalid email address (i.e. an email address that does not exist).”
  9. 9
    “Hard bounces occur when a customer's email address is permanently unreachable. For example, the email address or host server doesn't exist anymore or the address is invalid or misspelt.”
  10. 10
    “The first two categories – invalid-mailbox and invalid-domain – are known as “hard bounces.””
  11. 11
    “The inactive-mailbox category indicates that the recipient’s address is disabled, abandoned, or no longer exists on the recipient’s server.”
  12. 12
    “Soft: A soft bounce is a temporary email bounce that occurred for a valid email address.”
  13. 13
    “When an email soft bounces, it means that, in most cases, the email address is valid and your email has reached the mail server of the recipient, but the mail server rejected it.”
  14. 14
    “For example, soft bounces may be caused by full mailboxes, DNS issues, server outages, etc, while the most common cause of a hard bounce is that the email address doesn’t exist or has expired – so it won’t be delivered today, tomorrow, or ever (foreseeably).”
  15. 15
    “Before an email soft bounces, it is deferred.”
  16. 16
    “Mailboxes may reject email with hard or repetitively soft bounces.”
  17. 17
    “A message experiences a hard bounce. This means that either the recipient email address does not exist or the recipient email server blocked delivery.”
  18. 18
    “recipient-server-error”
  19. 19
    “Standard success, persistent transient failure, and permanent failure classes used when defining delivery and bounce measures.”
  20. 20
    “For bounce measures, state how temporary 4.X.X and permanent 5.X.X SMTP outcomes are classified rather than treating every delivery status as equivalent.”
  21. 21
    “Both of them affect the IP reputation of the sender because the Email Service Providers (ESPs) consider the total bounce rate as a decision factor when directing the email into a user's Inbox.”
  22. 22
    “Briefly, the total bounce rate is calculated as the sum of the hard bounce rate and soft bounce rate.”
  23. 23
    “Different internet service providers (ISPs) bounce email messages based on their own rating systems and definitions.”
  24. 24
    “To prevent your emails from bouncing, we strongly recommend authenticating your email domain and configuring DMARC.”
  25. 25
    “Also, if you use a free email service like Gmail or Yahoo for your From email address, we strongly recommend you switch to an email address from a private domain, like the one you use for work or for your website.”
  26. 26
    “Mailchimp can't predict if an email will bounce.”