GatorMail Delivery & Bounce Process Explained

When an email is sent from GatorMail it doesn’t land immediately in the recipient’s mailbox. It first goes onto our mailserver where the email is queued for send. Each email that hits our mailserver will usually have a delivery attempt immediately, but depending on the response from the other side, it may remain in the queue for longer. By default we retry sending every 10 minutes until 1 day has passed, at which point the email will expire and we discard it. At best an email delivers with seconds of being sent. At worst the email does not deliver and is discarded because the remote server never accepted it. At any point from the first delivery attempt to when it is discarded the email can bounce.

When an email delivery attempt is made the remote site will do one of three things:

1. Accept the email.

2. Defer with a “soft” response telling the sender to try again later.

3. Reject with a “hard” response telling the sender to go away.

Despite what no.1 says, all three of these can result in a bounce.  Essentially there are two types of bounces, but also two ways to get a bounce.  The types are what we have all heard of – hard and soft. But the ways to get a bounce are called local and remote.

  • A local bounce is when a bounce occurs with the email never leaving our mailserver. We have the email on our side, attempt a delivery, but get a hard or soft rejection. This is no.2 and no.3 above.  Bounces of this nature account for over 90% of all bounces.
  • A remote bounce is when we deliver the email over to the recipient network but it later bounces back to us. This can only happen for no.1 above.
  • A soft bounce occurs when the email does not deliver for the duration the email is on the mailserver. This means every retry attempt made to deliver the email was deferred but none of those deferrals was a hard response. After the email expires, it will bounce with the last deferral reply from the remote server. 
  • A hard bounce occurs whenever the remote site give a reject response. Typically you get these on the first delivery attempt but you can actually get them any time until the message expires. An email may get deferrals for 2 days but that turns into a hard response on day 3 for example.
 

How GatorMail Processes a Bounce

GatorMail logs bounces into the campaign results in three different counts. Hard, soft and other. We separate them into these based on a bounce category that we work out when the bounce occurs. 

A ​hard​​ bounce is a bounce related to a recipient address which is ​clearly​ unable to receive future messages. Examples are bounces from providers reporting the user does not exist or bounces due to non existent domains. Addresses from hard bounces should be excluded from future mailings as soon as possible. When there are many bounces with invalid local part on a domain the provider might start blocking mail due to high unknown user rates. Addresses with inactive user or invalid domains might become a spam trap in the future. And lastly sending to invalid addresses is a waste of effort.

A ​soft​​ bounce is a bounce related to a recipient address which is ​probably​ unable to receive future messages. Examples are indirect bounces due to invalid domains or bounces due to exceeded quota. Addresses from soft bounces should be excluded from future mailings after N consecutive soft bounces. This prevents removal when the bounce appears to be a temporary problem. 

Other bounces are ​unrelated​​ to the recipient address and must be treated differently from hard and soft bounces. These bounces mean the contact email address is valid but the email was rejected for another reason so they should not have an effect on the mailing list. They are related to sender reputation, local policies, email authentication, message content, etc. If the bounces indicate spam or reputation issues then further mails from the affected sender to the affected provider might be postponed or reduced until the problem is solved. 

The GatorMail campaign results explains bounces as follows…

  • Hard Bounces = The total number of emails that bounced and caused the contact to immediately become undeliverable.
  • Soft Bounces = The total number of emails that bounced and incremented the contact bounce count value. If it was the contacts 3rd consecutive soft bounce, they will also become undeliverable.
  • Other Bounces = The total number of other emails that bounced. These bounces do not cause an undeliverable or increment the contact bounce count value.

We judge all bounces based on what the bounce category is. For example a bad-domain bounce is a clear sign of a bad email address and the contact would be marked undeliverable straight away. A routing-error is a soft bounce that increments the contact bounce count. A spam-related bounce while is technically a soft bounce, we don't increment the contact bounce count so we class it in the other bounce count.  

Here is our current bounce category breakdown:

Bounce Category Cause Undeliverable Cause Soft Bounce Description
bad-configuration No No messages rejected due to configuration issues with remote host, 5.X.X error
bad-connection No No messages bounced due to bad connection issues with remote host, 4.X.X error
bad-domain Yes No messages bounced due to invalid or non-existing domains, 5.X.X error
bad-mailbox Yes No messages rejected due to bad, invalid, or non-existent recipient addresses, 5.X.X error
complaint-related Yes No messages that were accepted, but have then been complained about by the recipient
content-related No No messages refused or blocked due to content related reasons, 5.X.X error
inactive-mailbox Yes No messages rejected due to expired, inactive, or disabled recipient addresses, 5.X.X error
invalid-sender No No messages rejected due an invalid sender
message-expired No No messages bounced due to not being delivered before the bounce-after, 4.X.X error
no-answer-from-host No Yes messages bounces due to receiving no response from remote host after connecting, 4.X.X or 5.X.X error
policy-related No No messages refused or blocked due to general policy reasons, 5.X.X error
protocol-errors No No messages rejected due to SMTP protocol syntax or sequence errors, 5.X.X error
quota-issues No Yes messages rejected or blocked due to mailbox quota issues, 4.X.X or 5.X.X error
relaying-issues No Yes messages refused or blocked due to remote mail server relaying issues, 5.X.X error
routing-errors No Yes messages bounced due to mail routing issues for recipient domain, 5.X.X error
spam-related No No messages refused or blocked due to spam related reasons, 5.X.X error
virus-related No No messages refused or blocked due to virus related reasons, 5.X.X error
other No No messages rejected due to other reasons, 4.X.X or 5.X.X error