The ezmlm-idx(1) adds the option (default) of a message index to ezmlm. The ‘From:’ line, the subject, the author's email address and name and the time of receipt are logged for each message as it is received. The subject is ‘normalized’ by concatenating split lines and removing reply-indicators such as ‘Re:’. A hash of the normalized subject with all white space removed is also stored. The hash for any message within a thread is almost always the same and is used together with the order of receipt to connect a set of messages into a “thread”. A hash is needed due to the inconsistent handling by MUAs of white space in RFC2047-encoded subject headers.
The message index is stored as DIR/archive/n/index, where ‘n’ is the message number mod 100. Thus, the directory DIR/archive/52/ stores messages 5200 through 5299 and the file index which contains the index for those messages.
The message index can be retrieved with the ‘-index’ command (see ezmlm-get(1)). You can also retrieve a range of messages, a specific thread, or generate a message digest (see ezmlm-get(1)). Each of these commands can be disabled or restricted as desired by the list owner.
The ezmlm-idx(1) can be used at any time to either reconstruct an existing index or create one an index for an existing message archive without one.