使用命令行更改 Mailman 上的列表成员审核标志

使用命令行更改 Mailman 上的列表成员审核标志

有没有办法使用 Mailman 从命令行更改列表成员的审核标志?

答案1

有一个 Python 脚本http://www.msapiro.net/scripts/set_mod.py这可能满足您的需要。我不知道 mailman 中实际上有什么功能可以实现这一点。

答案2

开启审核位:

/usr/lib/mailman/bin/withlist -r mod.set $currentlist $user 1

关闭审核位:

/usr/lib/mailman/bin/withlist -r mod.set $currentlist $user 0

在上述2个语句中,将其替换$currentlist为列表名称,并将其$user替换为成员订阅的地址。

使用“mod.py”:

#! /usr/bin/python
# mod.py

from Mailman import mm_cfg
import sys

def mod(list):
    for member in list.getMembers():
        if list.getMemberOption(member, mm_cfg.Moderate):
            print member, "is moderated"

def set(list, member, value):
    value = not not (int(value))
    if list.isMember(member):
        list.Lock()
        list.setMemberOption(member, mm_cfg.Moderate, value)
        print "%s's moderated flag set to %d" % (member, value)
        list.Save()
        list.Unlock()
    else:
        print member, "not a member"

相关内容