Bounce is a WordPress plugin that tries to detect bounced email addresses used to send notification from your blog and remove them from plugins like Newsletter, Comment Notifier, Comment Plus.
Bounces can be managed in many different ways, but every method requires a number of configurations that can be outside the competence of the average blogger and not always the set of configurations needed is compatible with the hosting provider policies.
Download and discussion
This plugin has many opportunities to grow, since around the bounce management there are lot of features that can be implemented and… I need collaborators. Write me: firstname.lastname@example.org.
How bounce control works?
A bounce is an email address that generates an error while used as recipient for a message. There are many kind of errors: dead addresses, mailbox full, mail server not available and so on. Usually those conditions are detected by mail servers and “delivery error” messages are returned to the sender. Or better to the “return path” specified on original message.
The return path is an standard email address where to send the detected error. Most of the hosting providers set this header field for you to a not useful value, so you will almost always miss those messages. Thus, on main configuration of Bounce plugin you can “force” a value for the return path, for example to a mailbox you read and where you wish to collect the error messages for manual removal from your mailing list.
The return path is set by Bounce plugin only if emails are sent with wp_mail() WordPress function. Plugins that send emails with other methods should be configurable to force the return path.
Forcing the return path is not always appreciated by hosting provider an I had cases where emails can be sent only if the return path configuration was left blank. That situation automatically excludes the possibility to use Bounce plugin. Just to say.
If the return path is not a problem for you, you can setup a dedicated mailbox, accessible via POP3, where to direct all the error messages. Bounce can be configured to periodically read that mailbox searching for bounce email addresses analyzing the error messages.
Never use your mailbox, Bounce delete the messages on every check.
Error message formats are all but standard. Bounce uses a simple rule to analyze them and surely that rule should be refined and can grow to a great level of complexity as demonstrated by the Bounce Mail Handler project.
When a bounce email is found, the plugin try to remove that address from Comment Notifier, Comment Plus and mark it as “bounced” on Newsletter plugin. Other plugin can integrate with Bounce, see below.
A well done bounce control should be done…
A well done bounce control should be done with VERP, creating a special return path for each email sent. Return paths bringing useful information for bouncing analysis are sometime in the format:
where (mailbox) identify the mailbox where error message should be delivered and the code after the plus sign is something that identify the subscriber to be marked as bounced. Not all mail servers accept this syntax, so actually Newsletter Bounce module does not implement it.
Of course professional mail marketing companies (like Aweber or Mailchimp) may use different methods since they have the full control of their mail server configurations.
But at end, what do I need to setup the bounce control?
You need a dedicated mailbox, accessible via POP3 which will be configured on Newsletter Bounce module. The module, every hour, will open that mailbox looking for error messages and when found tries to identify the email. If one can be found, that email will be marked as bounced.
Hard bounces and soft bounces
Bounces can be soft or hard. Bounce plugin DOES NOT distinguish between the two. A soft bounce is an error message for a mailbox temporary out of order, like a full mailbox: the address is still valid and a message can be delivered if the owner take the time to clear the mailbox.
An hard bounce is an error due to an wrong recipient, formally valid but without a real mailbox. For example email@example.com is formally valied but there is not mailbox for stefanox on my server. This is an unrecoverable error and that email should be deleted.
Bounce plugin HAS NOT the ability to differentiate from soft and hard bounce: for it a bounce is a bounce.
Why it’s important to remove bounces?
Beacuse mail servers sending lot of mail that generate delivery error can be marked as mail spam server or spam detection rules can be activated by mails sent from your domain. More it is all unuseful traffic that consumes bandwidth and energy. Bounce removal is a green activity.
Many mail services require you to monitor and remove bounces. Bounce plugin does that.
Can a plugin integrate with Bounce
Of course. When Bounce find an address it trigger the WordPress action “bounce_email”, passing a single parameter that is the bounced email. Any plugin can attach it self to this action (with an add_action()) an clean up its email database.
They could not be of the latest version.
Frequently Asked Questions
How can I test the configuration and the POP3?
Once inserted the POP3 values, use the “test connection” button to try a connection: it should report the number of messages found on that mailbox (eventually zero) or an error. Remember that POP3 servers usually works on port 110. The server (host) name has not to be prefixed with http:// and it is usually provided from your provider when you create the mailbox (it is needed to configure the mail clients).
Technically an SSL or TSL connection can be used, prefixig the host name with ssl:// or tls://. This protocol usually require a different port number than 110.
How can I test the bounced emails identification?
Once the POP3 connection is working, run a test from the administrative panel (there is a button to launch it). That test reads the messages and report the identified bounced email addresses, but does not take other actions. You should be able to run that test many times always with the same result. Differently when Bounce module does a real analysis, messages in the mailbox are then deleted and bounced emails are managed.
How can I check if the module is working?
Enabling the logging to debug or info level, the log file should report the module activity. Pay attention that debug level exposes sensible data and must be used only for identify problems when things are not going right. Bounce writes log inside the “wp-content/logs” folder, naming the file:
bounce-[32 chars secret word].txt
so it’s rather impossible for someone to guess the name of that file.
If I set the return path, no more email are sent from my blog.
Some provider does not like the return path to be set on email, or to be set to some values. Try to use an email within your domain but if it does not work, you probably cannot use the Bounce plugin. Try to open a ticket to your provider sending it this page.
It emptied my mailbox!
Yes, it is make for that: read a mailbox, get all messages, analyze them and delete them to not get them again on next check. Please read carefully instructions above.
Is there a road map for new features?
Yes, inside the plugin package there is a readme.txt file with version history and future possible features
Is there a report of found bounced emails?
No, there is not such report. You can enable the log to info level and many this will be logged on the log file located in “wp-content/logs” and named:
bounce-[32 chars secret word].txt
Can I change the log file secret word?
Delete the WordPress option “bounce_secret” directly from the options table or try to empty it from http://www.domain.com/wp-admin/options.php (pay attention, you can compromise your blog changing things in this panel).
Bounce plugin has something to do with DKIM of SPF records?
No, absolutely. They are techniques to avoid to have the server marked as spam (more or less, it’s a complex world).
Does it work with Newsletter?
Yes, it marks subscribers as “bounced” directly on Newsletter database.