bouncehandler app
Repeated sending to wrong / inactive recipients is considered “spammer behavior”.
In recent years, more and more smtp servers have been blacklisted for this reason.
The most noticeable error occurs when the Mail-From/Return-Path address mailbox,
the one receiving the bounced messages, is full or non-existent.
By sending thousands of messages, if 20% come back, it’s easy to fill even a large inbox in minutes.
Receiving all bounced messages without reading them could be considered a minor flaw.
You keep sending emails to addresses that bounce back, with error details that no one cares about.
In both cases, the result is that the smtp server is blacklisted. In this way,
not only will messages not be delivered to invalid recipients, but valid recipients will also receive them as SPAM.
To solve the first problem, we have been offering “newsletter mailboxes” for a long time.
Analyzing bounced messages is more difficult and requires a tool that works very well.
We chose “Sisimai: Mail Analyzing Interface”, formerly known as bounceHammer 4: an error mail analyzer.
An open source software, that parses RFC5322 bounce mails and generates structured data as JSON.
To get an idea of all the possible error codes that Sisimai parses, take a look at “The SMTP Field Manual”,
a collection of raw SMTP error code responses from major email service providers.
The automatic blocklist
Implementing the bounce handler within RealSender is simple.
- activate the “newsletter mailbox”
- configure your sending application to use the new Return-Path address
- ask to verify the setup and activate the “bounce handler”
The “bouncehandler” app starts checking the bounced messages.
Two blocklists are activated:
-
the hard bounces blocklist
contains all the email addresses that generated a permanent error,
such as user unknown or host unreachable
the weekly hard bounces log is available at the web address:
https://…hardbounces.email.weekly -
the soft bounces blocklist
contains all the email addresses that generated three or more transient errors,
such as mailbox full, at least one week away from each other
the weekly soft bounces log is available at the web address:
https://…softbounces.email.weekly
Sending messages to a blocklisted recipient will generate an error like this:
Manage your blocks independently
We provide you with the following files,
as web addresses, protected by password or IP address:
https://…bounces.json
the details of the bounces received in the last seven days, in JSON format, such as:
{
"feedbacktype": "",
"addresser": "info@circuitocinemascuole.com",
"diagnostictype": "SMTP",
"timezoneoffset": "+0200",
"lhost": "linp.arubabusiness.it",
"destination": "gmail.com",
"timestamp": 1635536166,
"senderdomain": "circuitocinemascuole.com",
"deliverystatus": "5.1.1",
"token": "daad8f8fc89cef70e1406a9d2b38be6c35326e03",
"recipient": "...@gmail.com",
"subject": "Prenotazioni aperte_Giornata Internazionale dei Diritti dell'Infanzia e dell'Adolescenza_Film FIGLI DEL SOLE",
"origin": "/home/rs109-bounce/Maildir/new/1635528969.21113_0.rsbox.realsender.com",
"rhost": "gmail-smtp-in.l.google.com",
"reason": "userunknown",
"diagnosticcode": "550-5.1.1 The email account that you tried to reach does not exist. Please try double-checking the recipient's email address for typos or unnecessary spaces. Learn more at https://support.google.com/mail/?p=NoSuchUser z3si7494964ybg.507 - gsmtp 503 5.5.1 RCPT first. z3si7494964ybg.507 - gsmtp",
"messageid": "McuPi4DjtlyhvlSMVNB4wTXsUKQeIy6XwlKoAZuJ4@www.circuitocinemascuole.com",
"listid": "",
"action": "failed",
"softbounce": 0,
"replycode": "550",
"catch": null,
"alias": "",
"smtpagent": "Sendmail",
"smtpcommand": "DATA"
},
https://…hardbounces.json
the details of the hard bounces 1 received in the last seven days, in JSON format
https://…hardbounces.email
the list of email addresses that generated a hard bounce 1 in the last seven days
1 = selection criteria: softbounce == 0
https://…softbounces.json
the details of the soft bounces 2 received in the last seven days, in JSON format
https://…softbounces.email
the list of email addresses that generated a soft bounce 2 in the last seven days
2 = selection criteria: softbounce == 1
These are the same files used by the automatic blocklist:
https://…hardbouncesfull.email
the list of all email addresses that generated two or more hard bounces
at least one week away from each other
https://…softbouncesfull.email
the list of all email addresses that generated three or more soft bounces
at least one week away from each other