Inbox delivery rate, and mainly senders reputation, are key for successful delivery of any cold email campaign. For every email sent, Gmail will either increment or decrement your senders reputation, thereby having a direct impact on emails. Understanding how to detect email bounces is the first step towards maintaining high inbox delivery scores. The blog post below talks about two ways on desktop and one way using Gmail API to reliably detect bounces.
One of the key elements to avoid bounce rates is to ensure all emails are valid, however, that is easier said than done, as email addresses are almost always in constant state of flex, especially the ones used by businesses as:
- people switch jobs making their email no longer valid.
- go on vacation with auto-responder.
- forget to delete their emails resulting in a full inbox thereby causing email bounces.
In today’s post, we will go over in detail on the first item where an email is no longer valid.
Above screenshot gives a good insight on what happens when an email address does not exist and bounces back. If you personify email bounces, then
mailer-daemon is the email overlord that you need to always keep happy as s/he is the gatekeeper for all your email bounces.
The “Mail Delivery Subsystem”, is the default sender for all bounces, and while the above message is generic, a deep look in the email headers reveals a ton of information. Once you get this message, go to three ellipsis at top right, and click on show original.
As shown in the above gif, it’s easy to identify that we have everything going well on our side. The DKIM settings make sense, SPF is setup correctly, DMARC looks right, but even then, the email bounced, so what exactly happened?
You can get everything right, but if an email address is invalid, there isn’t much you can do, other than ensure the behavior does not get repeated.
Google uses certain key header fields to identify a bounce and it is critical to understand their purpose.
|From:||Mail Delivery Subsystem <[email protected]>|
The holy grail of everything, the system email address that is responsible for catch-all of all email addresses. PS: ensure that this guy’s emails never go to SPAM, it is hyper-critical to always monitor the emails coming from this sender.
|Subject:||Delivery Status Notification (Failure)|
GMAIL loves consistency and makes it super easy for us to identify the gaps and build our systems by training our eyes in a specific way. Every-time you see the subject: Delivery Status Notification, your eyes must lit and you should pay immediate attention to the frequency of the emails and remove the bad emails from the cold campaigns ASAP.
On API side, Google goes bit deeper and explains everything in clear way.
X-Failed-Recipients: [email protected]
Debugging the key bit further, here is the breakdown:
X <– derived from the mail-transfer-agent EXIM, the letter “X” is an acronym for EXIM.
Failed <– indicates that EXIM has failed sending the email.
Recipients <– list of recipients that EXIM tried to send an email and resulted in failure.
Summing up, here are the key areas that we should be super careful as we send email campaigns:
- Always watch-out for emails with sender Mail Delivery Subsystem <[email protected]>, the “from” field sometimes gets displayed on your iOS / mobile client as “Mail”
- Delivery Status Notification as subject. Any emails with this subject should catch your eyes and the recipient should be immediately removed.
- If you are using API to send email, the “X-Failed-Recipients” in the email header as a “key” should be monitored carefully.
- StackOverflow also talks about detecting bounced emails using google scripts, you can read more about it at https://stackoverflow.com/questions/44040996/detecting-bounced-email-in-a-gmail-integration
Sending cold emails is a complex process, and if you are ever looking for a simple tool to send mass email campaigns, give us a try at https://magicemails.com, its super awesome!