summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2000-06-23 07:47:39 +0000
committerbwarsaw2000-06-23 07:47:39 +0000
commitef28350d0373f77c66d6f5bf60cf2db6ac66ebeb (patch)
tree0b4a8a117cb65909215c1575005e66868655164b
parent1849822f70644ce6d79806679a1308a34be12948 (diff)
downloadmailman-ef28350d0373f77c66d6f5bf60cf2db6ac66ebeb.tar.gz
mailman-ef28350d0373f77c66d6f5bf60cf2db6ac66ebeb.tar.zst
mailman-ef28350d0373f77c66d6f5bf60cf2db6ac66ebeb.zip
-rw-r--r--cron/qrunner15
1 files changed, 14 insertions, 1 deletions
diff --git a/cron/qrunner b/cron/qrunner
index 7cc27cdac..fe4973aad 100644
--- a/cron/qrunner
+++ b/cron/qrunner
@@ -65,7 +65,20 @@ def dispose_message(mlist, msg, msgdata):
mimemsg = mimetools.Message(s)
if mlist.bounce_processing:
if BouncerAPI.ScanMessages(mlist, mimemsg):
- return
+ return 0
+ # The message could have been a bounce from a broken list admin
+ # address. About the only other test we can do is to see if the
+ # message is appearing to come from a well-known MTA generated
+ # address.
+ sender = msg.GetSender()
+ i = string.find(sender, '@')
+ if i >= 0:
+ senderlhs = string.lower(sender[:i])
+ else:
+ senderlhs = sender
+ if senderlhs in mm_cfg.LIKELY_BOUNCE_SENDERS:
+ syslog('error', 'bounce loop detected from: %s' % sender)
+ return 0
# Either bounce processing isn't turned on or the bounce detector
# found no recognized bounce format in the message. In either case,
# forward the dang thing off to the list owner.