There are a number of different schools of thought on bounce handling, but it is important to understand that not all bounces are created equal…

Lets start with what is a bounce and then go into how to handle and read them.

A hard bounce (or permanent failure) is one which is not likely to be resolved by resending the message in the current form. English translation: “Do not try to deliver this message again as it currently exists”. This could mean a number of things, here are a couple examples:

  1. We don’t like this content – change it before you try again – Change your content before resending to these users, but they are potentially still active and wanting your mail.
  2. The email server could not deliver your email message. “550 User Unknown” – This user doesn’t exist – check the user’s email before you try this message again – This type of notice should also permanently remove the bad address from your mailing list
  3. We don’t like this IP or mail server or domain – your likely blocklisted (check here), go away until this is fixed – until this listing is corrected you should suspend mailings to these users.

A soft bounce (or transient failure) is one in which the message as sent is valid, but persistence of some temporary condition has caused abandonment or delay of attempts to send the message. English translation: “Try to deliver this message again, but later”, here are a couple examples:

  1. The email server is temporarily unable to deliver your message to the recipient email address. Example: “Connection timed out.”
  2. The email server is temporarily unable to deliver your message to the recipient email address because of a DNS problem. Example: “Host is unreachable”
  3. The email server is temporarily unable to deliver your message to the recipient email address because the recipient’s email box is full. Example: “Mailbox over quota”
  4. The email server could not deliver your message to the recipient because the message size is too large. Example: “Exceeded maximum inbound message size”

Care to read more about the enhanced bounce codes – See these RFC documents;
SMTP Service Extensions
Simple Mail Transfer Protocol
Enhanced Mail System Status Codes