Greetings Selene Test Team. Here are some notes about this list to get us started. General information: • The web interface is at https://mailman.lochac.sca.org • The Mailman site administrator is mailman3@lochac.sca.org, which is currently an alias for my personal address • The Selenetest list administrators are mailman3@lochac.sca.org and masonry@lochac.sca.org How It Works: Mailman3 is made up of two systemd services, mailman3 and mailman3-web, with configuration in /etc/mailman3/mailman.cfg and /etc/mailman3/mailman-web.py, respectively. I have configured mailman3 so that it starts only the two essential ‘runners’: the one that accepts mail from postfix (‘lmtp’) and the one that implements the REST API (‘rest’). The other runners, which process mail, are run from cron jobs defined in /etc/cron.d/mailman3: • The ‘in’, ‘pipeline’, and ‘out’ queues are cleared every ten minutes. These check incoming mail, perform any necessary transformations on it, and send it out again, respectively. • The ‘command’ and ‘virgin’ queues are also cleared every ten minutes. The first processes requests sent to listname-join@lochac, listname-leave@lochac, etc., while the second is where Mailman inserts its own messages (moderation requests, etc.) into the system. • The ‘retry’ and ‘task’ queues are cleared every hour • The ‘archive’, ‘bounces’ and ‘digest’ queues are cleared every evening • I have disabled the ‘nntp’ runner altogether since no one is using NNTP as far as I know A homebrewed Python script in /var/lib/mailman3/bin/cron-runner.py processes the queues. The script only starts the runner if mail is actually in the queue, and then only makes one pass over the queue. I wrote this script because Mailman’s own ‘runner’ script can only run indefinitely (which uses huge amounts of memory) or process one message at each invocation (which is painful). One upshot of this for ordinary people is that mail to a list may take up to 10-15 minutes to be sent out again, and archives are only updated once per day. This can of course be changed by changing the cron configuration. Log files are in /var/log/mailman3. The main log is mailman3.log. The web service has another log /var/log/mailman3/web/mailman3-web.log, which is different to the Apache log. The Apache logs are /var/log/apache/mailman.*.log.. Manual operation: Mailman3 has a single command-line tool, called ‘mailman’ (no 3), that performs more or less the functions of the scripts in /usr/lib/mailman/bin in Mailman2. For most purposes, it should be run as the ‘list’ user, otherwise it may create files or processes owned by root that other Mailman3 processes can’t work with, e.g. $ sudo -u list mailman info # displays version information To process a queue manually, invoke /var/lib/mailman/bin/cron-runner with the queue’s name as the first argument, e.g. $ sudo -u list /var/lib/mailman/bin/cron-runner in # process all incoming mail If mail cannot be processed due to an error (e.g. Python throws an exception), Mailman3 puts it in the ‘shunt’ queue. Once the error has been fixed, use the ‘unshunt’ command to get the mail going again: $ sudo -u list mailman unshunt Other resources: • https://www.list.org • https://mailman.readthedocs.io Ælfred Greetings Selene Test Team. Here are some notes about this list to get= us started. **General information:** * The web interface is at [https://mailman.lochac.sca.org](=3D"https://mailman.lochac.sca.org") = * The Mailman site administrator is [mailman3@lochac.sca.org](=3D"mailto:mailman3@lochac.sca.org"), which is c= urrently an alias for my personal address * * The =E2=80=98in=E2=80=99, =E2=80=98pipeline=E2=80=99= , and =E2=80=98out=E2=80=99 queues are cleared every ten minutes. These che= ck incoming mail, perform any necessary transformations on it, and send it = out again, respectively. * The =E2=80= =98command=E2=80=99 and =E2=80=98virgin=E2=80=99 queues are also cleared ev= ery ten minutes. The first processes requests sent to listname-join@lochac,= listname-leave@lochac, etc., while the second is where Mailman inserts its= own messages (moderation requests, etc.) into the system. * The =E2=80=98retry=E2=80=99 and =E2=80=98task=E2=80=99= queues are cleared every hour * The =E2= =80=98archive=E2=80=99, =E2=80=98bounces=E2=80=99 and =E2=80=98digest=E2=80= =99 queues are cleared every evening * I h= ave disabled the =E2=80=98nntp=E2=80=99 runner altogether since no one is u= sing NNTP as far as I know A homebrewed Pytho= n script in /var/lib/mailman3/bin/cron-runner.py processes the queues. The = script only starts the runner if mail is actually in the queue, and then on= ly makes one pass over the queue. I wrote this script because Mailman=E2=80= =99s own =E2=80=98runner=E2=80=99 script can only run indefinitely (which u= ses huge amounts of memory) or process one message at each invocation (whic= h is painful). One upshot of this for ordinary people is that mail to a list may tak= e up to 10-15 minutes to be sent out again, and archives are only updated o= nce per day. This can of course be changed by changing the cron configurati= on. Log f= iles are in /var/log/mailman3. The main log is mailman3.log. The web servic= e has another log /var/log/mailman3/web/mailman3-web.log, which is differen= t to the Apache log. The Apache logs are /var/log/apache/mailman.*.log. = **Manual op= eration:** Mailman3 has a single command-line tool, called =E2=80=98mai= lman=E2=80=99 (no 3), that performs more or less the functions of the scrip= ts in /usr/lib/mailman/bin in Mailman2. For most purposes, it should be run= as the =E2=80=98list=E2=80=99 user, otherwise it may create files or proce= sses owned by root that other Mailman3 processes can=E2=80=99t work with, e= .g. $ sudo -u list mailman info=C2=A0=C2=A0 # displays = version information To process a queue manually, invoke /var/lib/mailman/bin/cron-= runner with the queue=E2=80=99s name as the first argument, e.g. $ sudo -u list /var/lib/mailman/bin/cron-runner in=C2=A0=C2=A0=C2= =A0=C2=A0 # process all incoming mail If mail cannot be processed due to an error (e= .g. Python throws an exception), Mailman3 puts it in the =E2=80=98shunt=E2= =80=99 queue. Once the error has been fixed, use the =E2=80=98unshunt=E2=80= =99 command to get the mail going again: = ; $ sudo -u list= mailman unshunt = **Other resources:** = * https://www.list.org * [https://mailman.= readthedocs.io](3D"https://mailman.readthedocs.io") =C2=A0=C2=A0=C2=A0 =C3=86lfred =
participants (1)
-
Lochac Masonry Deputy