[Mailman-Developers] Fwd: Bounce action notification

Barry A. Warsaw barry at python.org
Tue Feb 25 22:19:38 EST 2003


>>>>> "CVR" == Chuq Von Rospach <chuqui at plaidworks.com> writes:

    CVR> you go tell hotmail to fix itself, Barry. Seems to me, since
    CVR> it's fairly easy to parse the "this is a warning message"
    CVR> stuff, we ought to.

Dang, I forgot to read chapter 800 of the ISP handbook, "How to be a
Friendly Gorilla". ;)

Actually, this particular message appears to be a DSN, so it would be
fairly trivial to ignore delayed actions.  See line 48 of
Mailman/Bouncers/DSN.py, and the commentary preceding that block.  The
patch might look something like the attached (untested).

So the debate would be whether the current behavior is best, and if
not whether this should be configurable.  I tend to come down on the
side of "yes", and "no".

-Barry

-------------------- snip snip --------------------
Index: DSN.py
===================================================================
RCS file: /cvsroot/mailman/mailman/Mailman/Bouncers/DSN.py,v
retrieving revision 2.7
diff -u -r2.7 DSN.py
--- DSN.py	2 Dec 2002 14:21:58 -0000	2.7
+++ DSN.py	26 Feb 2003 03:18:45 -0000
@@ -1,17 +1,17 @@
-# Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2003 by the Free Software Foundation, Inc.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the terms of the GNU General Public License
 # as published by the Free Software Foundation; either version 2
 # of the License, or (at your option) any later version.
-# 
+#
 # This program 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 General Public License for more details.
-# 
+#
 # You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software 
+# along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 """Parse RFC 1894 (i.e. DSN) bounce formats."""
@@ -20,6 +20,8 @@
 from email.Utils import parseaddr
 from cStringIO import StringIO
 
+from Mailman.BouncerAPI import Stop
+
 
 
 def check(msg):
@@ -39,13 +41,10 @@
             # that for other purposes :(
             #
             # Also grok out Action so we can do something with that too.
-            action = msgblock.get('action', '')
-            # BAW: Should we treat delayed bounces the same?  Yes, because if
-            # the transient problem clears up, they should get unbounced.  The
-            # other problem is what to do about a DSN that has both delayed
-            # and failed actions in multiple header blocks?  We're not
-            # architected to handle that. ;/
-            if action.lower() not in ('failed', 'failure', 'delayed'):
+            action = msgblock.get('action', '').lower()
+            if action == 'delayed':
+                return Stop
+            if action not in ('failed', 'failure'):
                 # Some non-permanent failure, so ignore this block
                 continue
             params = []



More information about the Mailman-Developers mailing list