ezmlm-request(1)                                 ezmlm-request(1)


ezmlm-request - Process subject line and body ezmlm com- mands


ezmlm-request [ -f config ] dir


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 let- ter. 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 con- figuration file (see below), ignores the subject and pro- cesses the first body line (per rules above) in conjunc- tion 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 con- fig switch, command messages are limited to lists in con- fig or at the local host. Invalid requests for an existing ezmlm list will lead to a ``help'' message from ezmlm-manage(1).


-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 ``descrip- tion'' 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 1 ezmlm-request(1) ezmlm-request(1) 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.


Place an invocation of ezmlm-request in dir/manager any- where 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/inlocal and dir/outlocal with ``user-ezmlm'', dir/out- host with ``listhost'', 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.


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. 2 ezmlm-request(1) ezmlm-request(1) index ind. list recipients, showdist, review, rev, who. Some commands are handled differently when used without argu- ments: query Treated like ``which''. list Treated like ``lists''.


ezmlm-request places stricter requirements on addresses than rfc822. Thus, some addresses that are rfc822-compli- ant cannot be used as ezmlm-request command arguments. If you fix this, please send a patch to lind- berg@id.wustl.edu. 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.


ezmlm-get(1), ezmlm-manage(1), ezmlm-send(1), ezmlm(5) 3

1994 Man-cgi 1.15, Panagiotis Christias <christia@theseas.ntua.gr>