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-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 <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.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.
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-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 <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.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
Release history Release notifications | RSS feed
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.2.1.tar.gz
(153.7 kB
view hashes)