On 6/13/20 2:17 AM, Lars Bjørndal wrote:
I'm about to set up a new list, and want to try out Mailman3.
The only component available in Fedora, is the Mailman core package.
I find that strange as <https://lists.fedoraproject.org/> is Mailman 3 and the core developer who did most of the HyperKitty development works or did work for Fedora.
With the /usr/libexec/mailman3/mailman command, I was able to create a list, and add a member throug the sub commands create and members.
How can I read out the list configuration from here, and change settings? Do I then need to install/use other components, or is there other possibilities, e.g. using the shell command?
You can do anything through mailman shell
, but it can be cumbersome.
You can also do most things via the REST API
<https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/rest/docs/rest.html>,
but that too is cumbersome if doing it, e.g., with curl
.
If I get a message that needs moderation, can I do the decision from cli, or how do I do that?
You should be able to do it via a reply to LIST-confirm+<token>@example.com, but this currently doesn't work. See <https://gitlab.com/mailman/mailman/-/issues/169>.
To do it in mailman shell
is something like:
$ bin/mailman shell -l list.example.com Welcome to the GNU Mailman shell Use commit() to commit changes. Use abort() to discard changes since the last commit. Exit with ctrl+D does an implicit commit() but exit() does not. The variable 'm' is the list.example.com mailing list
from mailman.app.moderator import handle_message from mailman.interfaces.action import Action action = Action.discard # to discard action = Action.reject # to reject action = Action.accept # to accept immediately action = Action.defer # to continue with subsequent tests rq = IListRequests(m) rq.held_requests <generator object ListRequests.held_requests at 0x7f5431dda048> list(rq.held_requests) [] # when you have requests this is a list of (id, type) tuples # type is 1 for message, 2 for subscription and 3 for unsubscription id = 'integer request id from above' handle_message(m, id, action, comment='reason if rejecting')
This is obviously not practical, but you could make a script to accept the token that you know and an action and maybe a comment to do the actual handling.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan