Index of /files
Name Last modified Size Description
Parent Directory 01-Aug-2008 14:42 -
ChangeLog 23-Jan-2010 20:36 22k
TUNABLES 23-Jan-2010 20:36 7k
mlmmj-1.1.0.tar.bz2 29-Nov-2004 09:50 117k
mlmmj-1.1.0.tar.gz 29-Nov-2004 09:50 146k
mlmmj-1.2.0.tar.bz2 23-Jan-2005 12:48 122k
mlmmj-1.2.0.tar.gz 23-Jan-2005 12:48 151k
mlmmj-1.2.1.tar.bz2 26-Jan-2005 19:07 122k
mlmmj-1.2.1.tar.gz 26-Jan-2005 19:07 152k
mlmmj-1.2.10.tar.bz2 18-Jan-2006 11:14 140k
mlmmj-1.2.10.tar.gz 18-Jan-2006 11:14 174k
mlmmj-1.2.11.tar.bz2 23-Jan-2006 19:01 140k
mlmmj-1.2.11.tar.gz 23-Jan-2006 19:01 174k
mlmmj-1.2.12.tar.bz2 13-Nov-2006 22:53 146k
mlmmj-1.2.12.tar.gz 13-Nov-2006 23:12 183k
mlmmj-1.2.13.tar.bz2 25-Dec-2006 12:05 152k
mlmmj-1.2.13.tar.gz 25-Dec-2006 12:05 190k
mlmmj-1.2.14.tar.bz2 03-Apr-2007 12:48 163k
mlmmj-1.2.14.tar.gz 03-Apr-2007 12:49 204k
mlmmj-1.2.15.tar.bz2 30-Jul-2007 23:31 164k
mlmmj-1.2.15.tar.gz 30-Jul-2007 23:31 207k
mlmmj-1.2.16.tar.bz2 28-Dec-2008 21:27 195k
mlmmj-1.2.16.tar.gz 28-Dec-2008 21:29 243k
mlmmj-1.2.17.tar.bz2 23-Jan-2010 20:36 216k
mlmmj-1.2.17.tar.gz 23-Jan-2010 20:36 272k
mlmmj-1.2.2.tar.bz2 01-Feb-2005 10:25 123k
mlmmj-1.2.2.tar.gz 01-Feb-2005 10:25 154k
mlmmj-1.2.3.tar.bz2 08-Feb-2005 10:37 124k
mlmmj-1.2.3.tar.gz 08-Feb-2005 10:37 156k
mlmmj-1.2.4.tar.bz2 15-Feb-2005 00:11 124k
mlmmj-1.2.4.tar.gz 15-Feb-2005 00:11 156k
mlmmj-1.2.5.tar.bz2 26-Apr-2005 14:03 127k
mlmmj-1.2.5.tar.gz 26-Apr-2005 14:03 159k
mlmmj-1.2.6.1.tar.bz2 09-May-2005 09:49 129k
mlmmj-1.2.6.1.tar.gz 09-May-2005 09:49 162k
mlmmj-1.2.6.tar.bz2.dontuse 08-May-2005 20:19 129k
mlmmj-1.2.6.tar.gz.dontuse 08-May-2005 20:19 162k
mlmmj-1.2.7.tar.bz2 12-May-2005 09:29 129k
mlmmj-1.2.7.tar.gz 12-May-2005 09:29 162k
mlmmj-1.2.8.tar.bz2 20-Jun-2005 15:57 130k
mlmmj-1.2.8.tar.gz 20-Jun-2005 15:57 162k
mlmmj-1.2.9.tar.bz2 14-Dec-2005 16:09 137k
mlmmj-1.2.9.tar.gz 14-Dec-2005 16:09 171k
old/ 21-Mar-2007 19:52 -
patches/ 07-Apr-2005 11:19 -
README mlmmj-1.2.17 Jan 23rd 2010
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
· Delivery Status Notification (RFC1891) support
To use mlmmj, do the following:
0) Compile it if you're not using a binary package such as dpkg, rpm or
a ports collection from a BSD or Gentoo. To compile, untar the tar-ball
and do:
$ ./configure && make && make install
If you want to filter multipart/mime messages, pass the option
--enable-recieve-strip to configure, and take a look at
contrib/recievestrip/README.
1) Configure a recipient delimiter. The default is to use '+', and 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/
The mmj TUNABLE "delimiter" configures this on a per list basis
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>