Nice n' Easy JQuery Image Rotator
Development Resource Project
Changing Mailman Python Scripts for Virtual Host Support
Enforce Coding Standards with PHP_CodeSniffer and Eclipse IDE on Ubuntu Linux
Getting Set up with Ogre 3D on Ubuntu
Installing Xdebug for use with Eclipse or Netbeans on Linux

File Structure of ezmlm Mailing Lists

Wednesday, 25 November 09, 7:00 am
The ezmlm mailing list stores configuration options for a list as files on the file system (rather than using a config table in a database, or even a single config file).

In order to migrate a list from ezmlm to another list manager, such as mailman, it's necessary to understand the file structure in order to work out how the list is configured.

compton

4:24 pm, Wednesday, 25 November 09

Structure of subscriber databases

ezmlm subscriber email addresses are stored within DIR/subscribers/ as a hashed set of 53 files. The hash calculated from the address determines which of the 53 files an address is stored in. Thus, to find out if an address is a subscriber, ezmlm has to read at most about 2% of the email addresses. The hash function ensures that email addresses are reasonably evenly distributed among the 53 files.

Addresses in the files in DIR/subscribers/ are stored as strings starting with 'T', followed by the address, followed by a zero byte. This is the same format as taken by qmail-queue(8) on file descriptor 1. Thus, subscriber lists can be directly copied to qmail without any further processing.

(http://www.ezmlm.org/faq/Structure-of-subscriber-databases.html#Structure-of-subscriber-databases)

compton

4:50 pm, Wednesday, 25 November 09

From the ezmlm man page:

ezmlm-manage allows automatic subscription if dir/public exists.


dir/archive is a directory containing messages previously sent to subscribers. ezmlm-send archives all new messages if dir/archived exists. If dir/indexed exists, ezmlm-send also maintains a message subject and author index.

For moderation options, the moderators are stored in a subscriber list in moddir/subscribers. By default moddir is dir/mod.

dir/prefix is a subject prefix. If this file exists, its contents are prefixed to the subject of the post in the outgoing message.

dir/text is a directory containing files sent out by ezmlm-manage in response to administrative requests

dir/digest contains items specific for the digest list.

dir/digest/subscribers contains hash files of digest subscriber addresses.

The -s switch is added to the ezmlm-get(1) line in dir/manager so that only subscribers can access the archive.

dir/manager uses ezmlm-manage -U to allow unconfirmed unsubscribe.

dir/text/info contains a short description of the list.

The list set up with ezmlm-get -P to allow only moderators archive access.

The -s switch is added to the ezmlm-get(1) line in dir/manager so that only subscribers can access the archive.

Message moderation. dir/modpost is created. dir/editor is set up with ezmlm-store(1) instead of ezmlm-send(1).a dir/moderator is set up with ezmlm-moderate(1), and ezmlm-clean(1). dot/-accept-default and dot/-reject-default are linked to dir/moderator. dir/text/mod-help is adjusted. Special action is taken when the -m switch is combined with -u. In this case, the setup is as for the -m switch alone, but dir/editor is set up with ezmlm-gate(1) which will fork ezmlm-send(1) for posts with an envelope sender that is a subscriber or a moderator, and for ezmlm-store(1) for posts with other envelope senders. The consequence is that posts from subscribers (with the usual caveats for SENDER checks) are posted directly, whereas other posts are sent for moderation.

A ezmlm-issubn(1) line that tests the envelope sender against the address database in dir/deny is inserted into dir/editor. As a consequence, posts from such senders are blocked.

the ezmlm-store -P switch is used so that posts from non-moderators are rejected rather than sent for moderation

Please enter your comment in the box below. Comments will be moderated before going live. Thanks for your feedback!

Cancel Post

/xkcd/ Pascal's Law