view README @ 442:bc7ed828388d

1.2.1 README commit
author mmj
date Sat, 29 Jan 2005 00:02:29 +1100
parents 71c6e16a30c2
children 63b456214cd0
line wrap: on
line source

README mlmmj-1.2.1					January 26th 2005

This is an attempt at implementing a mailing list manager with the same
functionality as the brilliant ezmlm, but with a decent license and mail server
independency.

The functionality:

 · Archive
 · Custom headers / footer
 · Fully automated bouncehandling (similar to ezmlm)
 · Complete requeueing functionality
 · Moderation functionality
 · Subject prefix
 · Subscribers only posting
 · Regular expression access control
 · Functionality to retrieve old posts
 · Web-interface
 · Digests
 · No mail delivery subscription
 · VERP support

To use mlmmj, do the following:

 1) Make sure your mailserver accepts '+' as a recipient delimiter. In Postfix
    it's done by adding

        recipient_delimiter = +

    to /etc/postfix/main.cf. In Exim it can be done by adding

        local_part_suffix = +*
	local_part_suffix_optional

    to the "userforward:" and the "localuser:" router in /etc/exim/exim.conf,
    and also add "local_part_suffix = +*" to the system_aliases function. Also
    make sure that exim will add the envelope from in the Return-Path: header.

    There is a nice FAQ explaining recipient delimiter configuration here:

    http://faqs.org/faqs/mail/addressing/

 2) Create the mailinglist.  There's a script, mlmmj-make-ml.sh, that will make
    a mailinglist for mlmmj. It is highly recommended to use this script to make
    the lists! What is does is described here:

    In the case of a list called mlmmj-test below /var/spool/mlmmj it makes the
    following directories:

    /var/spool/mlmmj/mlmmj-test/incoming
    /var/spool/mlmmj/mlmmj-test/queue
    /var/spool/mlmmj/mlmmj-test/queue/discarded
    /var/spool/mlmmj/mlmmj-test/archive
    /var/spool/mlmmj/mlmmj-test/text
    /var/spool/mlmmj/mlmmj-test/subconf
    /var/spool/mlmmj/mlmmj-test/unsubconf
    /var/spool/mlmmj/mlmmj-test/bounce
    /var/spool/mlmmj/mlmmj-test/control
    /var/spool/mlmmj/mlmmj-test/moderation
    /var/spool/mlmmj/mlmmj-test/subscribers.d
    /var/spool/mlmmj/mlmmj-test/digesters.d
    /var/spool/mlmmj/mlmmj-test/nomailsubs.d
    /var/spool/mlmmj/mlmmj-test/requeue

    NOTE: The mailinglist directory (/var/spool/mlmmj/mlmmj-test in our
    example) have to be owned by the user the mailserver writes as. On some
    Postfix installations Postfix is run by the user postfix, but still writes
    files as nobody:nogroup or nobody:nobody

 3) Make the changes to your mailserver aliases that came as output from
    mlmmj-make-ml.sh. Following the example above they will look like this:

    mlmmj-test:     "|/usr/bin/mlmmj-recieve -L /var/spool/mlmmj/mlmmj-test"

    NOTE: Don't forget newaliases.

 4) Start mlmmj-maintd (remember full path when starting it!) or add it to
    crontab with -F switch. The recommended way for now is to run it via cron:

    "0 */2 * * *  /usr/bin/mlmmj-maintd -F -L /var/spool/mlmmj/mlmmj-test"

    It should be started as root, as mlmmj-maintd will become the user owning
    the listdir (/var/spool/mlmmj/mlmmj-test), and log it's last maintenance
    run to listdir/mlmmj-maintd.lastrun.log.

    If you have several lists below /var/spool/mlmmj you can use -d:
    /usr/bin/mlmmj-maintd -F -d /var/spool/mlmmj

That's it! You probably want to go through the next steps too.

 5) Subscribe some people

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

    etc.

 6) If you want custom headers like X-Mailinglist, Reply-To: etc. just add a
    file called 'customheaders' in the list control/ directory like this:
    $ cat /var/spool/mlmmj/mlmmj-test/control/customheaders
    X-Mailinglist: mlmmj-test
    Reply-To: mlmmj-test@domain.tld

 7) If you want every mail to have something like:
    -- 
    To unsubscribe send a mail to coollist+unsubscribe@lists.domain.net

    Just add what you want to a file named "footer" in the same dir as
    "customheader" (listdir/control/).

 8) If you want a prefix on the subject, to make it look like this:
    Subject: [mlmmj-test] how are we doing?
    Simply do 'echo "[mlmmj-test]" > control/prefix

 9) For having a moderated list, simply create a file called 'moderated' in the
    control/ directory. Moderators are added to a file called 'moderators' in
    the control/ dir as well.

10) Have a look at the file TUNABLES for runtime configurable things.

Tunables in include/mlmmj.h:
 · There's some time intervals for how mlmmj-maintd operates. I've choosen
   non-strict defaults, so depending on your BOFH rate you might want to tweak.
   The defaults should be good for most people though.

Have a fun!

	Mads Martin Joergensen <mmj at mmj dot dk>
	Morten K. Poulsen <morten at afdelingp dot dk>