A bounce is an email whose delivery gets rejected by the recipient email server.
A hard bounce indicates a permanent reason an email cannot be delivered. Common reasons found in a bounce back email notification for a hard bounce:
Usually caused by:
A Soft bounce indicates a temporary delivery issue to an email address.
Common reasons found in a bounce back email notification for a soft bounce:
Usually caused by:
STEP 1: Track bounce back notifications:
1. Technically, there are 2 ways to track bounce back notifications:
Reading Bounce Backs From a POP Account:
1. Easier method of setting up bounce management.
2. This method requires that a separate email account is created on the server, which is used only for processing bounces. E.g.:
3. A separate mail header – “Return-Path” can be set with each email that is sent. This header indicates, that in case of any bounce back, the bounce back notification email would be sent to the set email address (could be on a different domain), that can be different from the “From Email Address” in the email.
4. All messages that bounce back will be sent to this bounce email address.
5. A scheduled process will need to be designed that would periodically readthis POP email account, grab the bounce back emails, parse them to distinguish them as a soft or a hard bounce, and then clear out the bounces based on the rules setup for hard and soft bounces.
PIPE email to a script
1. This method requires to create an email “forwarder” or “alias” on the server, used only for bounces, where all emails sent to that specific email address (for example, “firstname.lastname@example.org”) are forwarded to a PHP script like admin/pipe_bounce.php.
2. This way the bounce email messages will be processed almost instantly since the moment the mail is received to the email address, it is forwarded to the PHP script that processes it, whereas in the above method “ReadingBounce Backs From a POP Account”, the POP method requires that a scheduled process to run a few times before all bounces are tracked.
STEP 2: Identify Soft or Hard Bounces:
1. Technically, if the mail server uses standard called as “Delivery Status Notification (DSN), RFC-1894” that adapts a standard bounce back notification email format, then there are standard PHP mail bounce scripts available that can parse such standard bounce back email notifications and help us to categorize a soft or a hard bounce.
STEP 3: Take Action:
After it has been categorized that the email bounce back is Soft or Hard, apply rules best suited for your software: E.g.:
1. Clean up an email address that soft bounces, if it has reached the threshold of being bounced back say 6 times.
2. Clean up an email address immediately, if it has hard bounced. I.e. give no more chances.
1. Some email servers don’t send bounces with properly formatted SMTP replies that use standard codes. Therefore, the standard scripts to parse the bounce does not work as efficiently
2. In some other cases it could be “Silent dropping”:
1. The bounce back algorithm needs to be tested at a very large scale with huge number of real customer data lists that you receive.
2. Despite the above described technical implementation, on-going manual analysis of bounce back headers is needed to be done continually.
3. The algorithm for handling bounce backs needs to be evolved based on the new mail server strategies since email is evolving faster than ever.
4. Manual checks to keep the lists healthy will need to be done by dedicated staff.