bounce_driver.class.php -- Version 7.0

Chris Fortune ~ http://cfortune.kics.bc.ca

Feb 3, 2011

Hey! Class is no longer static, it is rewritten in dynamic $this-> notation. It's much easier to customize now. If you are upgrading from a previous version, you will need to rewrite your method invocation code.


Download source code

This bounce handler Attempts to parse Multipart reports for hard bounces, according to RFC1892 (RFC 1892 - The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages) and RFC1894 (RFC 1894 - An Extensible Message Format for Delivery Status Notifications). We can reuse this for any well-formed bounces.

It handles FBL (Feedback Loop) emails, if they are in Abuse Feedback Reporting Format, ARF (It even handles Hotmail's ridiculous attempts at FBL). DKIM parsing is not yet implemented.

You can configure custom regular expressions to find any web beacons you may have put in your outgoing mails, in either the mail body or an x-header field. (see source code for examples). You can use it to track data (eg, recipient, list, mail run, etc...) by sending out unique ids, then parsing them from the bounces. This is especially useful when parsing FBL's, because usually all recipient fields have been removed (redacted).

If the bounce is not well formed, it tries to extract some useful information anyway. Currently Postfix and Exim are supported, partially. You can edit the function get_the_facts() if you want to add a parser for your own busted MTA. Please forward any useful & reuseable code to the keeper of this class. Chris Fortune

  1. Test All Sample Bounce E-mails
  2. Or, select a bounce email to view the parsed results:

Files: