Bounce Management

I'm discovering there's a lot to bounce management and of course if it's not done right it can quickly cause customer churn and high costs to resolve. This post deals with the basics.

There are three classes of response we get from recipient mail servers:

  1. "2xx" Positive completion - the requested action has been completed by the mail server. This does not necessarily indicate that mail has been delivered to the recipients inbox.
  2. "4xx" Transient negative completion - the command was not accepted, but is a temporary error condition and the command may be repeated by the sending server. This state can persist for up to several days before a max reties threshold is reached and the message is flagged as a permanent bounce.
  3. "5xx" Permanent negative completion - any 500 series response, whether received on the first attempt (a synchronous hard bounce) or following a transient bounce (asynchronous) is classified as a hard bounce

Technically, there is a fourth class "3xx Positive intermediate reply", but it seldom if ever appears without a subsequent overriding response.

"5xx" class includes many sub-types such as "domain lookup failed" and "too many invalid addresses". It also includes messages generated by the sending server such as "Exceeded max retries". There's one sub-class that as email service providers we're really interested in and that's "invalid address". Unfortunately we can't identify these by the 550 response code alone because this can be used for other bounce reasons too (such as "Too many invalid recipients").

All email records that have experienced hard bounces of the "invalid address" type should be removed from the list.

Post a comment

here