1. Preface

This is a short documentation for common tasks with the grml mailing list setup (mlmmj).

2. Upstream docs

mlmmj Homepage

3. Configuration of lists

Configuration of lists takes apart in the control directory of every list. This can be found in /etc/mlmmj/lists/$list/control. A full list of tunable options can be found in the file /usr/share/doc/mlmmj/TUNABLES.gz.

4. Recipes

Here are some common tasks:

4.1. Add a new mailinglist

mlmmj-make-ml

4.2. Subscribe somebody to a mailinglist

/usr/bin/mlmmj-sub -L /var/spool/mlmmj/$list/ -a joe@domain.tld

4.3. Add custom headers to a mailinglist

Just add your Headers to the file customheaders in the control directory of a list.

Example: Add the custom header List-Id to list foo

echo "List-Id funny list <foo.ml.grml.org>" >> /etc/mlmmj/lists/foo/control/customheaders

4.4. Restrict allowed posters to a list

If you add a file access to the control directory you can control who is allowed to post to a list. Rules are parsed from top to down and are specified by a regex against the header of mail and the keyword reject or deny. If you add a deny to the end of the file everybody who is not explicitly allowed to post will be rejected. If you want to customize the reject mail that users get modify the file /etc/mlmmj/lists/$list/text/access the Macro $listaddr$ will be replaced with the address of the list.

Example: Deny all mails to a list with an exception for mails from foo@bar.de

allow ^From: .*foo@bar.de.*

deny

Example: Reject all mails from bar@baz.de

deny ^From: .*bar@baz.de.*

Caution
Every header can be forged, so don't rely to hard on this feature. If you really want to control all mails to a list use moderation.

5. List Archives

Currently we use Hypermail for archive generation. To get a new list archived the following steps have to be followed:

  1. Subscribe the archive user. For traditional reasons this is the user lurker

    `/usr/bin/mlmmj-sub -L /var/spool/mlmmj/$list/ -a lurker@ml.grml.org`.
  2. Tune the procmail file of the lurker user so that mails of the list get there own inbox file:

    :0 w
    * ^X-Mailing-List: <grml-live@ml.grml.org>.*
    grml-live
  3. Copy /home/lurker/conf/hg-commits.conf to a new config

  4. Adjust at least the following config options in the config:

    1. mbox = /home/lurker/hg-commits - set this to the mbox of the list

    2. label = Mercurial commits changes for hg.grml.org - informative description of the list

    3. dir = /var/www/archive/hg-commits/ - where to generate the html files

  5. If the archive should be mentioned on ml.grml.org add it to /var/www/archive/index.html

6. About this document

(c) Michael Prokop <mika@grml.org> and Alexander Wirt <formorer@grml.org>; HTML version powered by asciidoc.