Home | FAQ | Manual | Ezmlm Manual Pages | Qmail Manual Pages | Readme | Upgrade | Downgrade

How to service commands in the subject line - ezmlm-idx FAQ

Next: , Previous: How sublisting can be made transparent to the user, Up: Overview of ezmlm function


4.28 How to service commands in the subject line

RFC2142 (standards track) says that for each mailing list ‘list@host’, there MUST be an administrative address ‘list-request@host’. Prior to ezmlm-idx version 7, this was not the default for ezmlm, but could be added with ezmlm-make(1) -q, which added a ezmlm-request(1) line before the ezmlm-manage(1) line in DIR/manager. This address is used to manage commands in the ‘Subject:’ line, by translating them into appropriate ezmlm command messages.

ezmlm-request(1) services the ‘list-request@host’ address per RFC2142 (standards track). It is usually invoked in DIR/manager before ezmlm-get(1) and ezmlm-manage(1). It ignores all requests that are not for the list-request address. For requests to the ‘list-request@host’ address, ezmlm-request(1) parses the ‘Subject:’ line. If a ezmlm command address starting with the contents of DIR/outlocal (e.g. ‘list-get45’) is on the command line, ezmlm-request(1) generates the corresponding full ezmlm request message. If the subject does not start with the contents of DIR/outlocal, ezmlm-request(1) prefixes the line with the contents of DIR/outlocal, thereby building a complete ezmlm command. If a host name is specified, it must match the contents of DIR/outhost, i.e. ezmlm-request(1) in this function will only generate command messages for the local list.

Thus, a subject of ‘subscribe’ to ‘list-request@host’ will be auto-magically rewritten as a message to ‘list-subscribe-userlocal=userhost@host’. Similarly, any ezmlm command or ‘Reply-To:’ address can be pasted into the subject field and sent to ‘list-request@host’. ezmlm-request(1) does not validate the command name, but invalid commands result in a ‘help’ message in reply via ezmlm-manage(1). This allows ezmlm-request(1) to also service custom commands, like ‘list-faq@host’ that you may have created for your list.

If the ‘Subject:’ is empty or does not start with a letter, ezmlm-request(1) will attempt to interpret the first message body line that starts with a letter in the first position.

When ezmlm-request(1) has successfully processed a “request” command, it exits 99 to skip the rest of DIR/manager.

To set up a list to include ezmlm-request processing, use the ezmlm-make(1) -q switch. The default is to not do this.