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 5 days have 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. At any point from the first delivery attempt to when it is discarded the email can bounce.
When we attempt delivery for an email, the remote site will do one of three things:
1. Accept the email.
2. Reply with a “soft” response telling us to try again later.
3. Reply with a “hard” response telling us 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 and accounts for less than 10% of all bounces.
- A soft bounce occurs when the email does not deliver for the duration the email is on our mailserver.
This means every retry attempt made to deliver the email was denied. Not one of those denials was a hard response. After the email expires, it will bounce with the last response message from the remote server.
- A hard bounce occurs whenever the remote site give us a hard response.
This would be an outright rejection of our delivery attempt. Typically you get these on our first delivery attempt but you can actually get them any time until the message expires. An email may get soft responses for 2 days but that turns into a hard response on day 3.
How GatorMail Processes a Bounce
When a bounce occurs whether it be hard, soft, local or remote GatorMail will add it to the results for the campaign and update the contact record. An important note to make is hard and soft bounces can equally update contacts to undeliverable. There is no such thing as a hard bounce causing an undeliverable.
We judge the contact update on what the bounce category actually is. For example a bad-domain bounce is a clear sign of a bad email address and the contact would be marked undeliverable. But a blacklist-related bounce does not cause an immediate undeliverable even though that would be a hard response from the remote server. This is because blacklists are often temporary and just because one email bounced, it does not mean another email sent next week will bounce.
In cases where we do not make a contact immediately undeliverable, we increment a count on the contact record. This is stored in the field called “BounceCount”. Each bounce will increment it by 1 until we get the 5th bounce. At which point the contact will then become undeliverable. This gives us a range where at least one bounce can make the contact undeliverable, to at most 5 bounces before causing the undeliverable. Another important note. At any point along this, a bounce could happen to cause the undeliverable before the 5th bounce.
Here is our current bounce category breakdown showing which ones cause an immediate undeliverable or not:
|Bounce Category||Cause Undeliverable?||Message Given|
|Bad Configuration||NO||Messages rejected due to configuration issues with remote host, 5XX error.|
|Bad Connection||NO||Messages bounced due to bad connection issues with remote host, 4XX error.|
|Bad Domain||YES||Messages bounced due to invalid or non existing domains 5XX error.|
|Bad Mailbox||YES||Messages rejected due to bad, invalid, or non existing recipient addresses, 5XX error|
|Content Related||NO||Messages refused or blocked due to content related reasons. 5XX error.|
|Inactive Mailbox||NO||Messages rejected due to expired, inactive, or disabled recipient addresses, 5XX error.|
|Message Expired||NO||Messages bounced due to not being delivered before the bounce after, 4XX error.|
|No Answer From Host||NO||Messages bounced due to receiving no response from remote host after connecting , 4XX or 5XX error.|
|Policy Related||NO||Messages refused or blocked due to general policy reasons, 5XX error.|
|Protocol Errors||NO||Messages rejected due to SMTP protocol syntax or sequence errors, 5XX error.|
|Quota Issues||NO||Messages rejected or blocked due to mailbox quota issues, 4XX or 5XX error.|
|Relaying Issues||NO||Messages refused or blocked due to remote mail server relayinng issues, 4XX or 5XX error.|
|Routing Errors||NO||Messages bounced due to mail routing issues for recipient domain, 5XX error.|
|Spam Related||NO||Messages refused or blocked due to spam related reasons, 5XX error.|
||NO||Messages refused or blocked due to virus related reasons, 5XX error.|
|Other||NO||Messages rejected due to other reasons, 4XX or 5XX error.|
|Blacklist Related||NO||Messages rejected due to a blacklist, 5XX error.|
|Reputation Related||NO||Messages rejected due to reputation, 5XX error.|
|Complaint Related||YES||Messages that were accepted but have then been complained about by the recipient.|
|Challenge Response||NO||Messages rejected due to a challenge response on the sender address not being a robot, 4XX error.|
|Requires Authorisation||YES||Messages rejected due to a remote server requiring authentication for email delivery.|
|Invalid Sender||NO||Messages rejected due to an invalid sender.|
|Unknown||NO||Bounce type not recognised.|