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 ( 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 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 these days). It can contain:

bc. 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 =

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.