diff options
Diffstat (limited to 'Mailman/MailList.py')
| -rw-r--r-- | Mailman/MailList.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/Mailman/MailList.py b/Mailman/MailList.py index c9d0d6a5b..db31f16fe 100644 --- a/Mailman/MailList.py +++ b/Mailman/MailList.py @@ -937,11 +937,20 @@ class MailList(MailCommandHandler, HTMLFormatter, Deliverer, ListAdmin, self.AddRequest('post', Utils.SnarfMessage(msg), Errors.FORBIDDEN_SENDER_MSG, msg.getheader('subject')) - if self.moderated: + if self.moderated and not len(self.posters): self.AddRequest('post', Utils.SnarfMessage(msg), Errors.MODERATED_LIST_MSG, - msg.getheader('subject')) - if len(self.posters): + msg.getheader('subject')) + elif self.moderated and len(self.posters): + addrs = Utils.FindMatchingAddresses(sender, self.posters) + if not len(addrs): + self.AddRequest('post', Utils.SnarfMessage(msg), + Errors.MODERATED_LIST_MSG, + msg.getheader('subject')) + # + # not moderated + # + elif len(self.posters): addrs = Utils.FindMatchingAddresses(sender, self.posters) if not len(addrs): if self.member_posting_only: |
