|
Jim Tittsler |
at May 7, 2004 at 2:56 am
|
⇧ |
| |
On May 6, 2004, at 17:25, Geoff Powell wrote:
Is it possible with Mailman 2.1.4-1 to change user settings from a
command line tool? For example set nomail to 1 for a user on a mailing
list? I looked in the bin directory and none of the utilities appear to
be designed to do this, does anyone have any suggestions?
You can do this sort of thing with 'withlist'.
$ bin/withlist -l -i mylist
m.setDeliveryStatus('user at domain.com', MailList.MemberAdaptor.BYADMIN)
m.Save()
{ctrl-D}
If this is the sort of thing you are going to do often, you should
create a little Python script to remember the messy bits and save some
typing. You could create a file called nomail.py containing:
from Mailman.Errors import NotAMemberError
from Mailman.MemberAdaptor import BYADMIN
def nomail(m, addr):
try:
m.setDeliveryStatus(addr, BYADMIN)
m.Save()
except NotAMemberError:
print 'No address matched:', addr
Then to disable someone, do (either explicitly or with a script or
alias):
$ bin/withlist -l -r nomail mylist user at domain.com