------------------------------------------------------------
revno: 1810
committer: Mark Sapiro <[email protected]>
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
[email protected]
Unsubscribe:
https://mail.python.org/mailman/options/mailman-checkins/archive%40jab.org