------------------------------------------------------------
revno: 1810
committer: Mark Sapiro <m...@msapiro.net>
branch nick: 2.1
timestamp: Thu 2019-05-16 18:42:19 -0700
message:
  Remove unnecessary kludges from DSN recognition.
modified:
  Mailman/Bouncers/DSN.py


--
lp:mailman/2.1
https://code.launchpad.net/~mailman-coders/mailman/2.1

Your team Mailman Checkins is subscribed to branch lp:mailman/2.1.
To unsubscribe from this branch go to 
https://code.launchpad.net/~mailman-coders/mailman/2.1/+edit-subscription
=== modified file 'Mailman/Bouncers/DSN.py'
--- Mailman/Bouncers/DSN.py	2018-11-28 20:03:48 +0000
+++ Mailman/Bouncers/DSN.py	2019-05-17 01:42:19 +0000
@@ -35,7 +35,7 @@
 
 
 
-def check(msg):
+def process(msg):
     # Iterate over each message/delivery-status subpart
     addrs = []
     for part in typed_subpart_iterator(msg, 'message', 'delivery-status'):
@@ -86,29 +86,3 @@
             realname, a = parseaddr(a)
             rtnaddrs[a] = True
     return rtnaddrs.keys()
-
-
-
-def process(msg):
-    # We've seen some fairly bogus DSNs, allegedly from postfix that are
-    # multipart/mixed with 3 subparts - a text/plain postfix like part, a
-    # message/delivery-status part and a message/rfc822 part with the original
-    # message. Deal with it as follows.
-    if (msg.is_multipart() and len(msg.get_payload()) == 3 and
-      msg.get_payload()[1].get_content_type() == 'message/delivery-status'):
-        return check(msg.get_payload()[1])
-    # A DSN has been seen wrapped with a "legal disclaimer" by an outgoing MTA
-    # in a multipart/mixed outer part.
-    if msg.is_multipart() and msg.get_content_subtype() == 'mixed':
-        msg = msg.get_payload()[0]
-    # The above will suffice if the original message 'parts' were wrapped with
-    # the disclaimer added, but the original DSN can be wrapped as a
-    # message/rfc822 part.  We need to test that too.
-    if msg.is_multipart() and msg.get_content_type() == 'message/rfc822':
-        msg = msg.get_payload()[0]
-    # The report-type parameter should be "delivery-status", but it seems that
-    # some DSN generating MTAs don't include this on the Content-Type: header,
-    # so let's relax the test a bit.
-    if not msg.is_multipart() or msg.get_content_subtype() <> 'report':
-        return None
-    return check(msg)

_______________________________________________
Mailman-checkins mailing list
Mailman-checkins@python.org
Unsubscribe: 
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org

Reply via email to