DragonFly On-Line Manual Pages
ezmlm(5) DragonFly File Formats Manual ezmlm(5)
NAME
ezmlm - format of ezmlm directory
OVERVIEW
An ezmlm directory, dir, stores information about an ezmlm mailing
list. ezmlm-make creates dir; ezmlm-sub and ezmlm-unsub manipulate the
subscriber list stored under dir; ezmlm-manage handles administrative
requests automatically; ezmlm-send sends a message to all subscribers
listed in dir.
SUBSCRIBERS
dir/subscribers is a directory containing the subscriber list.
ezmlm-manage allows automatic subscription if dir/public exists.
The list is hashed into 53 files, named @ through t in ASCII. A
nonexistent file is treated as an empty file.
Each file contains a series of addresses. An address can be any string
of non-NUL characters up to 400 bytes long. Each address is preceded
by the letter T and followed by a NUL.
For reliability, when an address is added to or removed from the
mailing list, the relevant file is recreated under a temporary name
inside dir/subscribers and then moved into place.
dir/key is a binary file. ezmlm-manage uses dir/key to create
confirmation numbers. Anyone who can guess the contents of dir/key can
forge subscription requests. ezmlm-make does not put much effort into
making dir/key difficult to guess; for better security, you should add
some random garbage to dir/key.
ARCHIVE
dir/archive is a directory containing messages previously sent to
subscribers. ezmlm-send archives all new messages if dir/archived
exists.
Messages sent to the mailing list are numbered from 1 upwards, whether
or not they are archived. dir/num is the number of messages sent so
far.
dir/archive has subdirectories, each subdirectory storing up to 100
messages. Message number 100m+n, with n between 0 and 99, is stored in
dir/archive/m/n. For example, message number 15307 is stored in
dir/archive/153/07.
ezmlm-manage will ignore message files without the owner-execute bit
set. ezmlm-send turns on the owner-execute bit after safely writing
the message to disk.
BOUNCES
dir/bounce is a directory containing bounce messages. ezmlm-return
stores several types of files here.
DELIVERY INSTRUCTIONS
ezmlm-make sets up four files to control mailing list deliveries. Each
file is a series of delivery instructions in dot-qmail format.
dir/editor handles incoming mailing list submissions. ezmlm-make sets
up dir/editor to invoke ezmlm-send to immediately forward each message
to all subscribers and then to run ezmlm-warn.
dir/owner handles incoming messages for the mailing list's owner.
ezmlm-make sets up dir/owner to store messages in dir/Mailbox and then
to run ezmlm-warn.
dir/bouncer handles incoming bounce messages. ezmlm-make sets up
dir/bouncer to invoke ezmlm-return and then ezmlm-warn.
dir/manager handles incoming administrative requests. ezmlm-make sets
up dir/manager to invoke ezmlm-manage and then ezmlm-warn.
TEXT
dir/text is a directory containing files sent out by ezmlm-manage in
response to administrative requests:
top Introducing ezmlm. This is placed at the top of each
response.
bottom Explaining how to use ezmlm. This is placed at the
bottom of each response.
sub-confirm Explaining how to confirm a subscription request.
sub-ok Acknowledging successful subscription.
sub-nop Acknowledging a subscription request for an address
already on the mailing list.
sub-bad Rejecting a bad subscription confirmation number.
unsub-confirm Explaining how to confirm an unsubscription request, and
explaining how to figure out the subscription address.
unsub-ok Acknowledging successful unsubscription.
unsub-nop Acknowledging an unsubscription request for an address
not on the mailing list.
unsub-bad Rejecting a bad unsubscription confirmation number.
get-bad Rejecting a bad archive retrieval request.
bounce-warn Pointing out that messages have bounced.
bounce-probe Pointing out that a warning message has bounced.
bounce-num Explaining that ezmlm-return has kept a list of bounced
message numbers.
bounce-bottom Separating the bounce message.
ezmlm-manage replaces the line !A in any of these files with the name
of the subscription address. It replaces the line !R in sub-confirm
and unsub-confirm with the address that the subscriber must reply to.
OUTGOING MESSAGE EDITING
dir/headerremove is a list of bad header field names, one per line.
ezmlm-send removes these header fields from all outgoing messages.
ezmlm-make sets up dir/headerremove to remove Return-Path,
Return-Receipt-To, and Return-Path fields.
dir/headeradd is a list of new header fields. ezmlm-send adds these
fields to every outgoing message. ezmlm-make sets up dir/headeradd
with no new fields.
MISCELLANY
The first line of dir/mailinglist is a line of text. ezmlm-send
creates a new Mailing-List field, showing the contents of
dir/mailinglist, in every outgoing message.
The first lines of dir/outlocal and dir/outhost give the outgoing name
of the mailing list. These are used by ezmlm-manage and ezmlm-send to
construct sender addresses for outgoing messages.
The first lines of dir/inlocal and dir/inhost give the incoming name of
the mailing list. These are used by ezmlm-manage to parse incoming
envelopes. Normally inlocal and inhost are the same as outlocal and
outhost, but sometimes they are different, with outlocal@outhost
forwarded to inlocal@inhost.
If dir/sublist exists, this mailing list is a sublist, redistributing
messages from a parent mailing list. The first line of dir/sublist is
the name of the parent list. This affects the behavior of ezmlm-send.
dir/lock is an empty file. Any program that reads or writes the
subscriber list, or adds messages to the archive, locks dir/lock.
dir/Log is an advisory log of subscription and unsubscription actions.
WARNING: Log is not protected against system crashes. Log entries may
be missing or corrupted if the system goes down.
SEE ALSO
ezmlm-list(1), ezmlm-make(1), ezmlm-manage(1), ezmlm-return(1), ezmlmsend(1)
, ezmlm-sub(1), ezmlm-unsub(1), ezmlm-warn(1), dot-qmail(5)
ezmlm(5)