Building notes, projects, and occasional rants

ezmlm survival guide

Every time I have to do something with ezmlm-idx, I end up reading a lot of documentation.

It really tells you something about the quality of ezmlm. The need to tweak it is rare, so I forget how it all works.

Anyway, this time I wrote a couple of notes, a small survival guide if you will.

ezmlm survival guide

This survival guide covers ezmlm-idx version 0.440. Most of the information was obtained from the

I just copied and adjusted the parts that I need most often.

Creating lists

(Taken from a FAQ entry and the ezmlm-make man page)

To create a list with the following properties:

  • the list address is [email protected];
  • two lists will be created: a normal list and a digest list;
  • you ([email protected]) will be the owner, remote administrator and subscriber of both lists;
  • only subscribers will be able to post or retrieve the archives.
  • digest will be generated every two days, when 30 messages have arrived since last digest, or when mode than 64kbytes of message body has arrived;
  • ~/list/dir is the directory that will be created to store all the information regarding this list: subscriber lists, archives, the works;
  • ~/.qmail-list is the dot-qmail file that receives mail for the [email protected] address.

The commands needed are:

ezmlm-make -dgiu -5 [email protected] ~/list/dir ~/.qmail-local local domain
ezmlm-sub ~/list [email protected]
ezmlm-sub ~/list/digest [email protected]
ezmlm-sub ~/list/mod [email protected]

Explanation of the options used:

  • d: make a digest list also;
  • g: guard archives - only subscribers can retrieve messages - this option is secure, even if you fake a mail message to retrieve the archives;
  • i: mantain index for archives, useful to ezmlm-cgi;
  • u: only users can post;
  • 5: define the email of the list owner;

Also usefull options not used in this situation:

  • r: enable remote admin;
  • m: enable message moderation;
  • s: enable subscription moderation.

Another example of usage: you want to create a list [email protected]. Moderated, both posts and subscriptions. is a virtual qmail domain, with a vd prefix delivered to your homedir. You want all the control stuff to be inside ~/lists/vd-xpto. You ([email protected]) want to be the owner of the list. And you want digest and most common security features.

ezmlm-make -dgiums -5 [email protected] ~/lists/vd-xpto ~/.qmail-vd-xpto xpto
ezmlm-sub  ~/lists/vd-xpto [email protected]
ezmlm-sub  ~/lists/vd-xpto/digest [email protected]
ezmlm-sub  ~/lists/vd-xpto/mod [email protected]

Done. You are the owner, subscriber (of both regular and digest list), and moderator of your new list.

Moderation of messages

(Taken from

To moderate messages, do this:

touch DIR/modpost
ezmlm-sub DIR/mod [email protected]

Remove the DIR/modpost file to disable moderation.

Moderation of subscriptions

(Taken from

To moderate subscriptions, do this:

touch DIR/modsub
ezmlm-sub DIR/mod [email protected]

Removing the DIR/modsub file disables moderation.

Adding, listing and removing subscribers

To subscribe a user:

ezmlm-sub DIR [email protected]

To unsubscribe a user:

ezmlm-unsub DIR [email protected]

To list subscribers:

ezmlm-list DIR

You can change DIR with DIR/digest to add/see/remove people from the digest list, or DIR/mod to work on the moderator list.

Forcing the reply-to to the list

See the EZMLM FAQ entry about this.

Basically, you need to do 2 things:

  • put reply-to into DIR/headerremove: this will remove any reply-to header from incoming messages;
  • put Reply-To: <#l#>@<#h#> into DIR/headeradd: this will add the proper header to outgoing messages.

Adding common prefix to subject of messages

Just do this:

echo "[PREFIX]" > DIR/prefix