aboutsummaryrefslogtreecommitdiffstats
path: root/Mailman/Handlers/SpamDetect.py
diff options
context:
space:
mode:
Diffstat (limited to 'Mailman/Handlers/SpamDetect.py')
-rw-r--r--Mailman/Handlers/SpamDetect.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/Mailman/Handlers/SpamDetect.py b/Mailman/Handlers/SpamDetect.py
index 509e1e6e..c7b8d9e7 100644
--- a/Mailman/Handlers/SpamDetect.py
+++ b/Mailman/Handlers/SpamDetect.py
@@ -1,4 +1,4 @@
-# Copyright (C) 1998-2015 by the Free Software Foundation, Inc.
+# Copyright (C) 1998-2016 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
@@ -123,10 +123,19 @@ error, contact the mailing list owner at %(listowner)s."""))
elif mlist.dmarc_moderation_action == 4:
raise Errors.DiscardMessage
- if mlist.member_verbosity_threshold > 0 and Utils.IsVerboseMember(mlist, addr):
- mlist.setMemberOption(addr, mm_cfg.Moderate, 1)
- syslog('vette', '%s: Automatically Moderated %s for verbose postings.',
- mlist.real_name, addr)
+ # Get member address if any.
+ for sender in msg.get_senders():
+ if mlist.isMember(sender):
+ break
+ else:
+ sender = msg.get_sender()
+ if (mlist.member_verbosity_threshold > 0 and
+ Utils.IsVerboseMember(mlist, sender)
+ ):
+ mlist.setMemberOption(sender, mm_cfg.Moderate, 1)
+ syslog('vette',
+ '%s: Automatically Moderated %s for verbose postings.',
+ mlist.real_name, sender)
if msgdata.get('approved'):
return
@@ -175,5 +184,3 @@ error, contact the mailing list owner at %(listowner)s."""))
hold_for_approval(mlist, msg, msgdata, HeaderMatchHold)
if action == mm_cfg.ACCEPT:
return
-
-