Skip to main content

Email bounce detectors.

Project description

============
flufl.bounce
============

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: http://en.wikipedia.org/wiki/Variable_envelope_return_path
.. _DSN: http://www.faqs.org/rfcs/rfc3464.html


License
=======

Copyright (C) 2004-2014 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 <http://www.gnu.org/licenses/>.


Author
======

Barry Warsaw <barry@python.org>

with additional help from Mark Sapiro <mark@msapiro.net>

=====================
NEWS for flufl.bounce
=====================

2.3 (2014-08-18)
================
* Added recognition for a kundenserver.de warning to simplewarning.py.
(LP: #1263247)
* Stop using the deprecated `distribute` package in favor of the now-merged
`setuptools` package.
* Stop using the deprecated `flufl.enum` package in favor of the enum34
package (for Python 2) or built-in enum package (for Python 3).


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 mail.ru. Thanks to Andrey
Rahmatullin. (LP: #1079249)
* Fixed UnicodeDecodeError in qmail.py 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 setup.py and make the long description more compatible
with the Cheeseshop.
* Other changes to make the Cheeseshop page look nicer. (LP: #680136)
* setup_helper.py 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
Sapiro.
* Export `all_failures` in the package's namespace.
* Fix `python setup.py 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 MANIFEST.in 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/helpers.py for details.


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

Project details


Download files

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

Source Distribution

flufl.bounce-2.3.tar.gz (149.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page