summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2003-08-18 02:50:16 +0000
committerbwarsaw2003-08-18 02:50:16 +0000
commit716d523b06863c216ae82f28fb840d68cd9a29c2 (patch)
treed9f013f4aedb411eeb016a918603d09413aea4f4
parent21c8043703efb7dc5df30bc2ef7df8b6c4cfc5a4 (diff)
downloadmailman-716d523b06863c216ae82f28fb840d68cd9a29c2.tar.gz
mailman-716d523b06863c216ae82f28fb840d68cd9a29c2.tar.zst
mailman-716d523b06863c216ae82f28fb840d68cd9a29c2.zip
-rw-r--r--Mailman/Bouncers/DSN.py13
1 files changed, 6 insertions, 7 deletions
diff --git a/Mailman/Bouncers/DSN.py b/Mailman/Bouncers/DSN.py
index 6c32f0ffb..95037aad6 100644
--- a/Mailman/Bouncers/DSN.py
+++ b/Mailman/Bouncers/DSN.py
@@ -24,6 +24,8 @@ from email.Iterators import typed_subpart_iterator
from email.Utils import parseaddr
from cStringIO import StringIO
+from Mailman.BouncerAPI import Stop
+
def check(msg):
@@ -43,13 +45,10 @@ def check(msg):
# 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 = []