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:
bc. 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:
bc. 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):
bc. mlmmj_destination_recipient_limit = 1
relay_domains = lists.gurave.org
transport_maps = 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.