Managed Hosting



Email Bounce Detector
Project Home Blog Forums Known Issues Contact Project

Author: Brian Ghidinelli (All RIAForge projects by this author)
Last Updated: January 1, 2015 7:57 PM
Version: r33
Views: 72,200
Downloads: 1,960
License: Apache License, Version 2


The real value of this project is a fairly complete list of bounce snippets found in returned email. Using this list, we can analyze the reason why an email bounced. Is the cause:

OK: received a delivery notification/status
Temporary: could not be delivered but will be retried
Permanent: the delivery failure was fatal
Blocked: denied by a spam filter or firewall
Challenge-Response: human response required
Autoresponder: vacation and OOO messages

The result code of this component will let you take action such as notifying the original sender, retrying the delivery or unsubscribing the recipient from a list.

This code has been used in production for ~4 years and is quite stable. New bounce signatures appear all the time though, so consider posting new ones that are not found (result code = -1) to the forums for future inclusion.

Usage is very simple, instantiate the component (I use Coldspring, but you could make it standalone quite easily) and then pass the only method, getFailure(), the body of the email you're parsing like so:

resultCode = bouncedetector.getFailure(emailBody)

The resultCode will be:

-1 = did not find a signature for this body
0 = ok
1 = temporary
2 = fatal
3 = spam/firewall/etc
4 = challenge-response
5 = vacation/out of office

Act according to your business rules based on the result.

Last Update:

A large number of signature updates have been made improving the ability to detect challenge-response and out of office messages.


Ability to use CFCs.

My code uses a Coldspring configuration but the demo includes an example of using it as a raw CFC independent of Coldspring too.

Issue Tracker:

2 bouncedetector.xml signature weights key needs updating. Fixed 01/03/12 2:30 PM
1 Duplicate entries in bouncedetector.xml Fixed 01/03/12 2:30 PM

View All Issues

To enter issues for this (or any other) project, you must be logged in.

Subversion Access:

You may access this project's Subversion repository with your client here: http://svn.riaforge.org/bouncedetector.

To view files and changelists associated with this repository, go here: http://bouncedetector.riaforge.org/index.cfm?event=page.svnbrowse.

Anonymous users have read access to the repository while the administrator has write access.

This project is sharing its code via Subversion. Subversion is an open source source control method. You may find more information about Subversion here: http://subversion.tigris.org/