The easy way to set up postfix and mlmmj

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.

Published by

Michael Alan Dorman

Yogi, brigand, programmer, thief, musician, Republican, cook. I leave it to you figure out which ones are accurate.