summaryrefslogtreecommitdiff
path: root/Mailman/Bouncers/DSN.py (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Bite the bullet: rename the Mailman package to mailman.Barry Warsaw2008-02-271-100/+0
|
* Tweak copyright years.Barry Warsaw2008-02-071-1/+1
|
* Update copyright years.bwarsaw2007-01-191-1/+1
|
* Updated a few bouncers to recognize more bounces.msapiro2006-06-111-0/+5
| | | Added more test cases.
* Now that Python 2.3 is the minimum requirement for Mailman 2.2:bwarsaw2006-04-151-7/+1
| | | | | | | | | | | - Remove True/False binding cruft - Remove __future__ statements for nested scopes - Remove ascii_letters import hack from Utils.py - Remove mimetypes.guess_all_extensions import hack from Scrubber.py - In Pending.py, set _missing to object() (better than using []) Also, update copyright years where appropriate, and re-order imports more to my PEP 8 tastes. Whitespace normalize.
* Recognize more bounces - DSN.py, Qmail.py and SimpleMatch.pymsapiro2006-04-041-0/+7
|
* Added bounce tests. Updated bounce recognizers to pick up a few more.msapiro2006-03-241-0/+4
|
* Preparing for email 3.0/4.0. get_type() -> get_content_type() etc.tkikuchi2006-03-071-1/+1
|
* Changed BouncerAPI.py to return Stop from a Bouncer and changedmsapiro2006-03-011-4/+6
| | | | | | BounceRunner.py to discard the bounce when Stop returned. Changed DSN.py to recognize Action: headers with comments. Changed Qmail.py to recognize an observed different starting string.
* FSF office has moved. chdcking in for MAIN branch.tkikuchi2005-08-271-1/+1
|
* True/False where appropriate.bwarsaw2003-09-121-4/+10
| | | | | | | Fixed the import of Stop, which was causing the import of this message to fail. The symptom was this traceback message in logs/error: AttributeError: 'module' object has no attribute 'process'
* check(): If the action is 'disabled', stop the bounce processor frombwarsaw2003-08-181-7/+6
| | | | running, but don't attempt to dig out an email address.
* RFC 3464 obsoletes 1894 for the DSN standard.bwarsaw2003-03-021-5/+9
|
* check(): First, use parseaddr() to split up any realname/addrs found,bwarsaw2002-12-021-1/+8
| | | | then uniquify the return results based on the address.
* Update copyright years.bwarsaw2002-03-161-1/+1
|
* process(): Added a big ol' comment describing a potential bogosity inbwarsaw2001-10-091-2/+5
| | | | handling "delayed" DSN reports.
* Convert from mimelib to email.bwarsaw2001-10-011-76/+35
| | | | | Also, use cStringIO directly instead of our own hack-around StringIO module.
* check(): Add `delayed' as a valid Action: to match on.bwarsaw2001-08-041-1/+4
|
* check(): Make sure the last block gets checked. Also, I've found abwarsaw2001-02-281-3/+5
| | | | | sample that's nearly DSN compliant -- it uses "Action: failure" when it should be "Action: failed". Be liberal in what you accept.
* Conversion to mimelib.bwarsaw2001-02-151-60/+51
| | | | | | De-string-module-ify Other Python 2.0 constructs used where appropriate.
* process(): parseaddr() can return None, which if leaked to the bouncebwarsaw2000-07-211-1/+1
| | | | framework will cause errors. filter out Nones before return.
* parseaddr(): If the Original-Recipient: or Final-Recipient: headersbwarsaw2000-07-171-1/+5
| | | | | are bogus and don't contain the required address type field, don't try to guess -- return None.
* process(): For those bounce formats that are essentially MIME, it isbwarsaw2000-06-081-2/+6
| | | | | possible to get a multifile.Error not only on the mfile.next() call, but also on the mfile.read() call. Return None in both cases.
* Netscape.py: Detects what appears to be Netscape Messaging Server 3.6bwarsaw2000-06-051-1/+1
| | | | | | | | | | | | | | bounces. These look like DSN mime messages, but don't contain -Recipient: headers. :( Caiwireless, Catchall, DSN, Exim, Postfix, Qmail, Smail, Yahoo: Changed process() API to take just the message object, since the MailList object isn't really required. Modified Catchall to use mm_cfg.DEFAULT_HOST_NAME in the one place where mlist.host_name was used. This module's deprecated anyway so it shouldn't matter much. BouncerAPI.py: Use the new bouncer.process() API. Also improve the unit testing code a bit.
* Update the copyright lines to include the years 1999 & 2000.bwarsaw2000-03-211-1/+1
|
* process(): RFC 1894 allows for multiple addresses in a single bouncebwarsaw1999-12-091-29/+26
| | | | | | | | | | | notification, so we need to handle this. Sadly, MTAs that support DSN use a bunch of different headers which might be more useful in picking out the actual list member. Final-recipient is required but may not correspond to our list member. Original-recipient, which /would/ be a list member, is optional. Some MTAs seem to use X-Actual-Recipient to point to our list member, but others use that for the final recip. :(
* This module groks RFC 1894 (DSN) bounce formats. It knows a lot aboutbwarsaw1999-12-091-0/+109
MIME. The Python tools for MIME handling could use a good rewrite!