ezmlm-request
Section: User Commands (1)
Index
Return to Main Contents
NAME
ezmlm-request - Process subject line and body ezmlm commands
SYNOPSIS
ezmlm-request
[
-f config
]
dir
DESCRIPTION
ezmlm-request
processes ezmlm commands in the subject line or message body.
ezmlm-request
enables these uses to send the message to
list-request@host
with the complete command address line in the subject field,
or with commands and arguments separated by white
space.
ezmlm-request
uses the text to construct a ezmlm command message to the list.
If the subject does not start with a letter,
ezmlm-request
instead uses the first body line that starts with a letter. Processing
terminates if a line with a hyphen in the first position is encountered.
All commands are expected to be in ezmlm command address format or formatted
as:
command [list@listhost [user@userhost]]
ezmlm-request
when invoked with the
-f
switch and a configuration file (see below), ignores the subject and processes
the first body line (per rules above) in conjunction with the configuration
file. It also services the
lists
and
which
commands. This can be used
to construct a global list interface, similar to that used by some other
mailing list managers.
Messages at the
list-request@host
are restricted to the local list. When
ezmlm-request
is invoked with the
-f config
switch, command messages are limited to lists in
config
or at the local host.
Invalid requests for an existing ezmlm list will
lead to a ``help'' message from
ezmlm-manage(1).
ezmlm-request
reads
dir/copylines
to determine how many lines of the original message to copy into the
outgoing message. If this file is empty or not present, a value of
0
is presumed, meaning that only the header is copied.
OPTIONS
- -f config
-
Function as a global interface to ezmlm lists in accordance with
config.
This file consists of lines starting in the first position
with ``list@host:listdir:description''. Lines that are blank or start
with ``#'' are ignored. ``listdir''
and ``description'' are optional. If only ``list@host'' is given, the list
is used to restrict commands (see below), but not listed. To allow the list
to be shown by a ``list'' command, use ``list@host:''. To specify only
the list name and description, use ``list@host::description''.
If ``listdir'' is
present, the
which
command attempts to determine if the user is a subscriber of the list.
NOTE:
this will work only if the user running
ezmlm-request
has read access to the lists subscriber database.
If ``listhost'' is not specified,
ezmlm-request
will use the ``listhost'' from the first
config
entry matching ``listlocal''. If ``listhost'' is specified, but not found
in
config,
it is set to the contents of
dir/outhost.
USAGE
Place an invocation of
ezmlm-request
in
dir/manager
anywhere before the
ezmlm-manage(1)
line.
Alternatively, set up
dir/request
with an invocation of
ezmlm-request.
Make a link from
~/.qmail-list-request
to this file.
For the global interface, place
/path/ezmlm-request -f config dir
into a file.
Link
~/.qmail-ezmlm
and
~/.qmail-ezmlm-default
to this file. The latter allows
ezmlm-request
to handle its own bounces as well as to reply to messages to e.g.
``user-ezmlm-lists@listhost''.
Create
dir/outlocal
with ``user-ezmlm'',
dir/outhost
with ``listhost'',
dir/headerkeep
with headers to keep or
dir/headerremove
with headers to be stripped (copy from a list),
dir/text/help,
dir/text/top,
and
dir/text/bottom
with the appropriate texts.
Also, create
config
with the appropriate contents.
Mail to ``user-ezmlm@listhost'' will now be answered by
ezmlm-request.
RECOGNIZED COMMANDS
Any command not recognized by
ezmlm-request
is assumed to be valid, as long as it consists of only letters, numbers,
hyphen, underscore, period, and ``+''. This allows
ezmlm-request
to correctly handle commands added by the list owner.
A number of commands are recognized by
ezmlm-request
but not processed. Instead they are mapped to
help
without arguments. These
are:
system,
put,
and
set.
ezmlm-request
also handles a number of aliases for ezmlm commands. Since
ezmlm-request
only passes on requests to the list, local restrictions apply.
For commands that have aliases, accepted aliases are listed:
- subscribe
-
sub
- unsubscribe
-
unsub, signoff, remove.
- index
-
ind.
- list
-
recipients, showdist, review, rev, who.
-
Some commands are handled differently when used without arguments:
- query
-
Treated like ``which''.
- list
-
Treated like ``lists''.
BUGS
ezmlm-request
places stricter requirements on addresses than rfc822. Thus, some addresses
that are rfc822-compliant cannot be used as
ezmlm-request
command arguments. If you fix this,
please send a patch to bruce@untroubled.org. I think qmail has the same
restriction, though.
ezmlm-request
uses NUL as a line terminator internally. Thus, if will fail if NUL is found
within the line it tries to interpret as a command. It is harmless, other than
that the remainder of the line will be ignored.
The
ezmlm-request
``which''
command does not differentiate between a list for which the command is not
available, a list for which the subscriber db is not accessible, and a list
for which the address is not a subscriber. This should be considered a feature.
BUGS
ezmlm-request
when used as a global interface and receiving multipart messages assumes that
the first line of the fist part is the command. Further, it assumes that the
first line starting``--'' is the first MIME boundary. This is virtually
always true, but it is easy to construct legal messages that do not fit these
assumptions.
ezmlm-request
in the global interface role
will fail if this first part or the entire message is base64 encoded.
SEE ALSO
ezmlm-get(1),
ezmlm-manage(1),
ezmlm-send(1),
ezmlm(5)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- OPTIONS
-
- USAGE
-
- RECOGNIZED COMMANDS
-
- BUGS
-
- BUGS
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 18:00:51 GMT, June 16, 2008