On 07/02/2013 03:09 PM, Chris Nulk wrote: > > Thank you for the help. Hopefully a last question. In the > do_discard_globalban function, how can I send the discard message to > mailman list? Or should I? As it stands now, each list owner/admin > would be getting the message for their list. I am thinking that as the > site administrator and maintainer of the global ban list, I should also > get the message.
See below. > In the updated code, I did change the populating of the banlist in the > Read_GlobalBan_File function. Now, it strips and lowercases the > addresses before it checks if the address is in the banlist. Before, it > checked then populated a stripped, lowercase version. This could have > resulted in duplicates if the address in the banlist but the address > checked had a different case profile. See below. > # Go through possible senders. Check if any of them are > # on the global ban list > for sender in msg.get_senders(): > if sender.lower() in banlist: Not necessary to lowercase sender here as msg.get_senders() always returns lowercased addresses unless called with a preserve_case argument with a True value. > # copied almost verbatim from Mailman/Handlers/Moderate.py > def do_discard_globalban(mlist, msg, sender): > # forward auto-discards to list owners? > if mlist.forward_auto_discards: Note that no forwarding of the discard occurs unless the list's Privacy options... -> Sender filters -> forward_auto_discards is set to Yes. Otherwise, no notice is sent and the only indication is a "Message discarded, msgid: ..." entry in the 'vette' log. You may wish to remove the above condition. > lang = mlist.preferred_language > nmsg = Message.UserNotification(mlist.GetOwnerEmail(), mlist.GetOwnerEmail() returns the LISTNAME-owner address which is the recipient of this mail. This argument can be a string with a single address as it's value as it is here or a list of strings, each of which is an address. So the above line could be changed to nmsg = Message.UserNotification([ mlist.GetOwnerEmail(), 'y...@example.com', ], with whatever list of addresses you want, or maybe since list owners aren't much involved with this ban list nmsg = Message.UserNotification('y...@example.com', > mlist.GetBouncesEmail(), > _('Global Ban List Auto-discard > notification'), > lang=lang) -- Mark Sapiro <m...@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan ------------------------------------------------------ Mailman-Users mailing list Mailman-Users@python.org http://mail.python.org/mailman/listinfo/mailman-users Mailman FAQ: http://wiki.list.org/x/AgA3 Security Policy: http://wiki.list.org/x/QIA9 Searchable Archives: http://www.mail-archive.com/mailman-users%40python.org/ Unsubscribe: http://mail.python.org/mailman/options/mailman-users/archive%40jab.org