ezmlm-get(1) ezmlm-get(1)
NAME
ezmlm-get - handles mailing list archive retrieval and
digests
SYNOPSIS
ezmlm-get [ -bBcCpPsSvV ][ -f format ][ -t digaddr ] dir [
digestcode[f] ]
OPTIONS
-b (Default.) Copy administrative information and the
request to the bottom of replies. This informs the
recipient of other commands, and allows some error
tracking in case the recipient did not originate
the request.
-B Suppress the normal administrative information and
request copy. This may make it harder for the
recipient to diagnose problems and learn commands.
-c (Default.) Process and reply to commands (does not
affect digests).
-C Ignore all commands except digest.
-f format
ezmlm-get will use format as the default format for
all returned message collections. The default is
'm' for MIME with a header subset (see below). For-
mat specifiers send with individual requests over-
ride the default set with the -f switch.
-p -get, -index, and -thread commands are available to
all users, provided other flags are permissive.
This overrides normal behavior, which is to allow
archive retrieval only to moderators, when dir/pub-
lic does not exist. This is useful to set up non-
public lists that still give users archive access.
-P -get, -index, and -thread commands are available
only to moderators, even if dir/public exists. The
-C and -s flags can restrict this further. This is
useful for public lists with archive retrieval
restricted to a subset of users (moderators).
-s -get, -index, and -thread requests are processed
only if SENDER is a subscriber.
-S (Default.) Anyone can issue -get, -index, and
-thread requests.
-t digaddr
When this switch is used, ezmlm-get sends any
digest generated to digaddr rather than to the
digest subscribers. This switch makes it possible
1
ezmlm-get(1) ezmlm-get(1)
to use a separate digest list, rather than the
built-in one, allowing you to have different sub-
scriber policies for the two, keep an archive of
digests, or use non-standard digest names. A sub-
list(see ezmlm-send(1)) can be used to disseminate
the digest.
-v Print version info.
-V Print version info.
DESCRIPTION
ezmlm-get handles archive retrieval and optionally makes
and sends out digests for the mailing list stored in dir.
Subscribers of the digest list are stored in
dir/digest/subscribers/.
The contents of dir/headeradd are added to the header of
outgoing messages.
ezmlm-get is normally invoked from a .qmail(7) file.
It reads a mail message from its standard input, and a
mail envelope from the SENDER, LOCAL, and HOST environment
variables.
ezmlm-get uses LOCAL to determine where it is invoked. If
LOCAL is the list local name only, ezmlm-get assumes it is
run from dir/editor to produce a digest. The digest is
sent directly to the digest list subscribers.
If LOCAL is empty or undefined, ezmlm-get assumes it is
run from the command line or a script. In this case it
behaves as if run from dir/editor and sends out a digest
to the digest subscribers.
Otherwise, ezmlm-get expects LOCAL to be of the form list-
action. Here list is the first line of dir/inlocal and
action is a request. The output is sent to the envelope
sender.
ezmlm-get checks action for dig.digestcode, index, thread,
and get. If action is one of these, ezmlm-get handles the
request and sends a reply. If successful, it exits 99
(ignore remaining .qmail(7) file entries). If action is
not one of these, ezmlm-get exits 0 (success) to pass the
message on to later handlers, such as ezmlm-manage(1).
ezmlm-get expects HOST to match the first line of
dir/inhost.
ezmlm-dig.digestcode returns a digest of messages received
since the last digest, unless numerical arguments are
given. digestcode must be alphanumeric, and match (case-
2
ezmlm-get(1) ezmlm-get(1)
insensitive) digestcode on the ezmlm-get command line.
Otherwise, the request will be ignored. This is to
restrict digest creation. The body of the requesting mes-
sage up to the first line starting with '-' is copied into
the administrivia section of the digest. This is followed
by the contents of dir/text/digest, if this file exists.
Note: Anyone who can read your dir/manager file, digest-
requesting scripts, or mail log knows the digestcode and
can trigger digests.
ezmlm-get copies dir/mailinglist into a Mailing-List field
in its response. If the incoming message has a Mailing-
List field, ezmlm-get refuses to respond. ezmlm-get also
refuses to respond to bounce messages.
If dir/public does not exist, ezmlm-get rejects all
archive retrieval attempts, unless the -p command line
switch is used.
Archive retrieval actions can be of the form action[f],
action[f].num or action[f].num_num2, where num is the mes-
sage number for the action or num_num2 the range of mes-
sage numbers for the action.
f is an optional format specifier for -get, -thread, and
-dig requests. It is allowed, but ignored for -index
requests. Currently, the following are allowed:
r rfc1153. This is a ``plain'' non-MIME format for
dumb clients.
m (Default.) MIME multipart/digest with a subset of
ordered headers sorted. Currently, the following
headers are included in the order listed: Date:,
To:, From:, Reply-To:, Cc:, MIME-Version:, Content-
Type:, Message-ID:, and Keywords:. This can be
customized with the optional file dir/digheaders,
which should contain the desired headers up to but
not including the colon.
The format is no longer compliant with rfc1153, as
the rfc1153 format is incompatible with rfc2046,
which which the format is (should be) compatible.
x MIXED: This is the same as the default MIME format,
except that the Content-Type is multipart/mixed.
This helps circumnavigate a Pine bug: when the
digest is content-transfer-encoded, Pine will
refuse to display the initial text/plain part of a
multipart/digest message, but display the same part
of a multipart/mixed message. Some MUAs for some
strange reason treat the two multipart formats
3
ezmlm-get(1) ezmlm-get(1)
differently. In some cases, ``x'' works better than
``m''.
v VIRGIN: This is MIME multipart/digest with messages
returned without any header filtering.
n NATIVE: This is VIRGIN format without threading,
i.e. messages are presented in numerical order and
the message index is suppressed.
For flexibility and backwards compatibility, the '.' sepa-
rating the action from the first argument can be replaced
by '-', or omitted. Any non-alphanumeric character can
separate num2 from num.
If action is dig.digestcode, ezmlm-get returns a digest of
the messages received since the last digest, and updates
the digest issue counter.
If action is get, ezmlm-get sends back message(s) num or
num through num2. from dir/archive/. If num is omitted
and dir/dignum does not exist or is 0, the latest HISTGET
message (default 30) are returned. Otherwise, the messages
since the latest digest are returned including the last
message in that digest, so that always at least 1 message
is send. If the number of messages exceeds MAXGET (default
100), only the MAXGET last messages are returned. if num
is greater than the latest message in the archive _and_
num2 is specified, the latest messages back to HISTGET
before the end of the latest digest up to MAXGET messages
are returned. This is a good way of always getting at
least the latest 30 messages without knowing the latest
message number. A link with such a command could be put
into e.g. dir/text/sub-ok.
num and num2 are adjusted to make both > 0, and num2 >=
num. If either is greater than the largest message number
processed, it is silently set to the largest message num-
ber. At most 100 messages are returned.
If action is index, ezmlm-get sends back the subjects and
authors of the message(s) num or num through num2 in sets
of 100 from dir/archive/. num and num2 are reasonable
adjusted as for 'get'. No warnings are sent. At most 20
sets of 100 message entries are returned per request. If
num is omitted, ezmlm-get returns the last 100-200 message
entries, which automatically gives information about the
last message number.
If action is thread, ezmlm-get sends back the message(s)
that have an index subject entry identical to that of mes-
sage num from dir/archive/.
4
ezmlm-get(1) ezmlm-get(1)
If num2 is given it is ignored. If num is out of range,
and error message is returned. The message range scanned
for the subject is limited to 2000 messages before and
after the master message, i.e. the thread argument. This
limit protects very large archives. Most threads are
expected to be considerably more short-lived. In the
unlikely event that there are further messages, these can
be retrieved by a second request for the highest/lowest
message returned in the first request.
CHARACTER SETS
If dir/charset exists, ezmlm-get will use the character
set listed for all messages. Otherwise, the default ``us-
ascii'' will be used. The character set can be suffixed by
``:'' followed by a code. If the code is ``Q'', outgoing
messages are sent as ``Quoted-Printable'', if it is ``B''
they are sent ``base64'' encoded. Otherwise, text is sent
as is.
FILES
dir/dignum
The last message included in the latest normal mode
digest.
dir/digissue
The issue number of the latest normal mode digest.
dir/text/get-bad
Returned if a/the message cannot be found.
dir/text/digest
Copied into the Administrivia section of digests
after the body of the requesting message.
dir/charset
The character set used for all ezmlm-get messages
(see above). If not present, the default, ``us-
ascii'', is used without encoding.
BUGS
The digest format per rfc2046 should (but is not required
to) be multipart/mixed with the table-of-contents a
text/plain part, and the entire remainder of the digest a
multipart/digest part. The multipart/digest in turn should
contain all the messages. Many MUA's fail to split out the
individual messages from such a hierarchy, so the format
used by ezmlm-get is a simple multipart/digest, explicitly
typing the table-of-contents to text/plain, with the ``x''
format changing the mail content-type to multipart/mixed.
SEE ALSO
ezmlm-make(1), ezmlm-manage(1), ezmlm-send(1), ezmlm(5),
qmail-command(8)
5
© 1994 Man-cgi 1.15, Panagiotis Christias <christia@theseas.ntua.gr>