Skip to main content

Email bounce detectors.

Project description


Email bounce detectors.

The ``flufl.bounce`` library provides a set of heuristics and an API for
detecting the original bouncing email addresses from a bounce message. Many
formats found in the wild are supported, as are VERP_ and RFC 3464 (DSN_).

.. _VERP:
.. _DSN:


Copyright (C) 2004-2013 by Barry A. Warsaw

This file is part of flufl.bounce.

flufl.bounce is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, version 3 of the License.

flufl.bounce is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.

You should have received a copy of the GNU Lesser General Public License
along with flufl.bounce. If not, see <>.


Barry Warsaw <>

with additional help from Mark Sapiro <>

NEWS for flufl.bounce

2.2.1 (2013-06-21)
* Prune some artifacts unintentionally leaked into the release tarball.

2.2 (2013-06-20)
* Added recognition for a bogus Dovecot over-quota rejection sent as an MDN
rather than a DSN. (LP: #693134)
* Tweaked a simplematch regexp that didn't always work. (LP: #1079254)
* Added recognition for bounces from Thanks to Andrey
Rahmatullin. (LP: #1079249)
* Fixed UnicodeDecodeError in with non-ascii message. Thanks
to Theo Spears. (LP: #1074592)
* Added recognition for another Yahoo bounce format. Thanks to Mark
Sapiro. (LP: #1157961)
* Fix documentation bug. (LP: #1026403)
* Document the zope.interface requirement. (LP: #1021383)

2.1.1 (2012-04-19)
* Add classifiers to and make the long description more compatible
with the Cheeseshop.
* Other changes to make the Cheeseshop page look nicer. (LP: #680136)
* version 2.1.

2.1 (2012-01-19)
* Fix TypeError thrown when None is returned by Caiwireless. Given by Paul
Egan. (LP: #917720)

2.0 (2012-01-04)
* Port to Python 3 without the use of `2to3`. Switch to class decorator
syntax for declaring that a class implements an interface. The functional
form doesn't work for Python 3.
* All returned addresses are bytes objects in Python 3 and 8-bit strings in
Python 2 (no change there).
* Add an additional in-the-wild example of a qmail bounce. Given by Mark
* Export `all_failures` in the package's namespace.
* Fix `python test` so that it runs all the tests exactly once.
There seems to be no portable way to support that and unittest discovery
(i.e. `python -m unittest discover`) and since the latter requires
virtualenv, just disable it for now. (LP: #911399)
* Add full copy of LGPLv3 to source tarball. (LP: #871961)

1.0.2 (2011-10-10)
* Fixed to exclude the .egg.

1.0.1 (2011-10-07)
* Fixed licenses. All code is LGPLv3.

1.0 (2011-08-22)
* Initial release.

0.91 (2011-07-15)
* Provide a nicer interface for detector modules. Instead of using the magic
empty tuple returns, provide three convenience constants in the interfaces
module: NoFailures, NoTemporaryFailures, and NoPermanentFailures.
* Add logging support. Applications can initialize the `flufl.bounce`
logger. The test suite does its own logging.basicConfig(), which can be
influenced by the environment variable $FLUFL_LOGGING. See
flufl/bounce/tests/ for details.

0.90 (2011-07-02)
* Initial refactoring from Mailman 3.

Project details

Release history Release notifications

History Node


History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
flufl.bounce-2.2.1.tar.gz (153.7 kB) Copy SHA256 hash SHA256 Source None Jun 21, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page