I needed a mailing list manager for a new project, and, honestly, I'm a
little sick of Mailman--it has tons of features I don't use, but one
fundamental feature I'd like, archive indexing and searching, is grossly
deficient (the only option, which has been maintained as a patch for
the last 7 or 8 years, only really supports ht://Dig, which has been
moribund for about that whole time)--so I decided to try something that
might be no better, but at least was lightweight. So I installed mlmmj.
And then I discovered that all the documentation for how to configure it
with postfix was absurdly complex, at least for my situation, where I
was dedicating a whole subdomain (lists.gurave.org) to it.
So, here it is, my take on how to marry mlmmj to postfix. I have
successfully subscribed one address to it so far, but there's no reason
it has to be more trouble than this.
Step 1. Add an mlmmj transport to your postfix master.cf file:
mlmmj unix - n n - - pipe
flags=DORhu user=nobody argv=/usr/bin/mlmmj-recieve -L
var/spool/mlmmj/${user}
Step 2. Set up your subdomain to use the new transport (this can be
set on an individual address basis using either regexes or individual
entries, but hell, everyone uses lists.foo.com these days). It can
contain:
lists.gurave.org mlmmj:
Step 3. Configure postfix to handle the subdomain and use the
transport file to route messages (and don't hand more than one to mlmmj
at once):
mlmmj_destination_recipient_limit = 1
relaydomains = lists.gurave.org
transportmaps = hash:/etc/postfix/transport
Step 4. There is no Step 4. You're done. Seriously.
Of course, if I've missed something, I hope someone will let me know,
but I don't see why it has to be any more than this.