Next Previous Contents

1. EZMLM/IDX USER'S MANUAL

1.1 Introduction.

This chapter helps the (potential) subscriber to ezmlm/idx lists to learn the basic functions of the mailing list manager. It contains information on how to start and stop subscribing to ezmlm/idx list, how to access the list archive, how to send messages to the list, and how to contact the list owner, if necessary.

Features marked ``(*)'' are available only if the list uses ezmlm-idx in addition to ezmlm. See More information for more information on ezmlm and ezmlm-idx.

ezmlm is a modern mailing list manager. Its purpose is to efficiently send a message to a large number of recipients with minimal delay. It allows automated additions and subtractions from the subscriber database. In addition, it may keep an archive of messages. It can also impose restrictions on what may be sent or retrieved and by whom. Some mailing list managers keep a database of subscriber information and tailor the message specifically for each subscriber. ezmlm sends the same message to all subscriber. This is much more efficient. The benefits to the user are that on average posts to ezmlm lists reach subscribers much faster than they would with other mailing list manager.

The digest list(*) is special kind of mailing list extension. Instead of receiving posts, it sends out ``digest'', ordered collections of messages, when a predetermined limit in time or traffic volume has been reached. From the subscriber point of view, the digest list for the mailing list list@host is called list-digest@host. You use the same commands when subscribing or unsubscribing to a digest as you do when you join of leave the main list. The only difference is the list name you use with your commands (list-digest@host and list@host, respectively. There is nothing to stop you from being a subscriber of both.

To temporarily leave an ezmlm list, just unsubscribe. Subscribe again later, when you wish to receive messages or digests again. ezmlm processes such requests virtually instantaneously, removing the need for a temporary ``hold'' command.

ezmlm is highly automated. Virtually everything can be done simply, rapidly, and without human intervention. ezmlm encodes your address and the message number in the return address to automatically handle bounces, i.e. messages returned to sender because they couldn't be delivered to the subscriber. This can be used to find out the message number, as well as the address you're subscribed under (see Unsubscribing from an ezmlm list).

1.2 Sending commands to an ezmlm/idx mailing list.

ezmlm has a different address for each command. In essence, the address is the list name and the command. This is straight forward to interpret and therefore very fast. It also makes it very easy to send commands from the command line without having to worry about the subject and the message body (which are ignored).

Messages to the list address itself are sent to all subscribers and should never be used for administrative requests. If you have forgotten everything, send a message to mailinglist-help@example.org for the list mailinglist@example.org. If the instructions returned do not help you solve the problem, send a message to mailinglist-owner@example.org for human help, forwarding a message from the list and including any relevant information.

If you want to interact administratively with the ezmlm mailing list mailinglist@example.org, send an empty message (contents and subject are ignored) to mailinglist-command@example.org, replacing ``command'' with the desired command. For some commands, you can add arguments. Here are a few examples, which will be discussed further below:

mailinglist-subscribe@example.org

Subscribe me. ezmlm will send you a confirmation request, and once you reply to it a message confirming that you are a subscriber.

mailinglist-subscribe-user=gol.com@example.org

Subscribe user@gol.com. Here the default subscriber address (the one you send from) is overridden by an argument to the -subscribe command. To subscribe any address of type user.name@host.dom just replace the ``@'' in the address with ``='' and add it after a hyphen to the command. In this case mailinglist-subscribe-user.name=host.dom@example.org. Of course, ezmlm will ask user.name@host.dom to confirm the request.

mailinglist-unsubscribe@example.org

Unsubscribe me. ezmlm will send a confirmation request to your address and remove the address once you reply.

mailinglist-unsubscribe-user=gol.com@example.org

Unsubscribe user@gol.com.

mailinglist-query@example.org(*)

Tell me if my address is subscribed to the list or not.

mailinglist-get.123@example.org

Get message 123 from the archive. If you specify a number that is larger than the highest message number in the archive, you'll receive the latest message.

mailinglist-get@example.org(*)

Get the latest 30 messages from the archive. If the list has a digest, the messages returned are the messages received since the latest digest (the last message of the latest digest is returned so that there always will be at least one message).

mailinglist-get.45_67@example.org(*)

Get messages 45-67 from the archive. No more than 100 messages can be returned per request. If the first argument is larger than the highest message number in the archive, you'll instead receive the latest 30 or so messages from the archive. For a list with a digest, you'll get the messages that have arrived since the last digest as well as the last up to 30 messages of that digest.

mailinglist-index@example.org(*)

Send subject and author name for the last 100-200 messages. No more than 2000 entries are returned per request.

mailinglist-index.300_399@example.org(*)

Send subject and author of messages 300-399.

mailinglist-thread.45@example.org(*)

Receive an ordered set of all messages that have the same subject as message 45. ``Re:'', etc, do not make a difference, so the returned set is the usually entire thread.

mailinglist-info@example.org(*)

Send me some information about this list (the list owner decides how this command is supported).

mailinglist-faq@example.org(*)

Send me the list of frequently-asked questions (and answers) for this list (the list owner decides how this command is supported).

mailinglist-digest-subscribe@example.org(*)

You guessed it - subscribe to the digest list for mailinglist@example.org, provided there is one. Digest are usually sent about every other day, but this also depends on the message volume and settings adjusted by the list owner.

mailinglist-digest-unsubscribe@example.org(*)

Yes, it's that easy!

1.3 Subscribing to an ezmlm mailing list.

As mentioned previously, ezmlm commands are put into the ADDRESS. To subscribe to mailinglist@example.org, send an (empty) message to mailinglist-subscribe@example.org. ezmlm will send a confirmation request back to you. To confirm your subscription, just reply to the ``Reply-To:'' address. Usually, the ``reply'' function of your mail program will do this. When ezmlm receives your confirmation, it will add your address to the subscriber database and send you a message to tell you that you are a subscriber. If your mail program supports it, you may be able to just click on the address in the message.

The confirmation is used so that only you (and the list administrator) can add/remove your address from the list of subscribers.

Sometimes, you may want to subscribe an address other than the one you are sending from. Let's say you're sitting at john@example.net and that all your mail is forwarded here from harold@example.com (when you are not in the office). You'd like harold@example.com to be the subscriber (so that you get the messages at work). To do this, send mail to: mailinglist-subscribe-harold=example.com@example.org. ezmlm will send the confirmation request to harold@example.com which will be forwarded and reach you at john@example.net. When you reply, harold@example.com is added as a subscriber. The ezmlm verification mechanism tests the only relevant issue: That the person at the subscription address really wants to be a subscriber. After the confirmation reply is received, ezmlm will send a message to the subscription address to let the recipient know that s/he is a subscriber.

Some ezmlm mailing lists may use subscription moderation(*). Subscription to these lists is identical to the process described above, except that after confirmation the request is passed on to the list moderator(s). You become a subscriber only after one of the moderators has approved your request. If you want to send any additional information to the moderator, do so in your confirmation message. ezmlm will notify you once you are a subscriber.

1.4 Unsubscribing from an ezmlm mailing list.

You've guessed it already! To unsubscribe from mailinglist@example.org just send a message to mailinglist-unsubscribe@example.org, then reply to the confirmation request. ezmlm will send you a message to let you know that you are no longer a subscriber. ezmlm will also let you know if the address was not in the subscriber list. If so, you are probably subscribed under another address. When this happens, construct an unsubscribe request that contains your subscription address.

If you message contains a ``List-Unsubscribe:'' header, just click on it if your mail reader supports it and send of that message. If you mail reader doesn't support this, copy the entire address from after ``mailto:'' until just before ``>'', paste it into the ``To:'' field of a new message and press ``SEND''. Reply to the confirmation request.

Otherwise, you have to know your subscription address. To find it, look at the very first header of any message from the list. This should contain something like mailinglist-return-2345-harold=example.com@example.org which tells you that the message number is ``2345'' and the subscriber address is harold@example.com. Now you remember that you subscribed a address, and construct the appropriate command address to remove that address from the subscriber database: mailinglist-unsubscribe-harold=example.com@example.org. (You can see that this is a normal unsubscribe request, with a ``-'' followed by your subscription address with the ``@'' replaced by a ``=''. If you like, you can just use the address in the ``Return-Path'' header, and replace the ``return-2345'' with ``unsubscribe''.) Replying to the confirmation request will return the desired acknowledgement that the address has been removed from the subscriber database.

You can also send -unsubscribe requests for each potential subscription address and reply to the confirmation requests. The message sent by ezmlm in response to you -unsubscribe confirmations will tell you if you -unsubscribe attempt was successful.

With ezmlm-idx(*) you can also send mail to mailinglist-query-fred=old.com@example.org, mailinglist-query-gollum=previous.edu@example.org, and so on. For each message, the address will receive a reply telling you whether or not the address is subscribed or not. Construct a ``-unsubscribe'' message from the one that gave you a positive reply and you're off the list!

If you for some reason are not successful with these attempts you can as a last resort contact mailinglist-owner@example.org. Please describe your problem and include a FORWARDED message from the list and a list of the possible addresses you might be subscribed under. The list owner will be able to help you get off the list, and can usually figure out your subscription address from the information sent (see Helping users to unsubscribe).

Unsubscribe from subscription moderated lists works the same way as for normal lists. You never need approval to remove your address from a moderated list.

Posting from an alternative address when post are allowed only to subscribers.

When a list is set up to allow posts from subscribers only(*), a post from an address (jonesj@softx.com) may be rejected since this address is not a subscriber (even though mail to the subscriber john@univ.edu reaches you, ezmlm has no way of knowing this). The easiest way to deal with this is to unsubscribe john@univ.edu and subscribe jonesj@softx.com. If this is not possible/desirable, send the addresses in question with a note to mailinglist-owner@example.org. The list owner can add your sender address (in this case jonesj@softx.com) to an extra address lists of non-subscribers allowed to post (and access the archive). The extra addresses are kept in a database much like subscriber addresses. In fact, you can add the address jonesj@softx.com as an alias for the list mailinglist@example.org by mailing mailinglist-allow-subscribe-jonesj=softx.com@example.org and replying to the confirmation request. Again, you're changing the ``target'' address of the request from the default (the sender address) by adding the target to the command with the ``@'' replaced by ``=''. Of course, the ``allow'' list doesn't send out posts. It is solely a vehicle for storing ``allowed'' aliases.

1.5 Sending messages to an ezmlm mailing list.

To send messages to an ezmlm list, you must know its name. If the list is called mailinglist@example.org, just send a message to mailinglist@example.org. Any message accepted at this address is sent to all list subscribers.

Due to the efficiency of ezmlm, you usually get back the message you sent to the list within a few minutes. Of course, this is true only if you are a subscriber.

Most ezmlm lists require that you specify a ``Subject'', a few words that give everyone an idea what your message is about. This is a good thing, since many subscribers automatically delete mailing list messages without subject. Conversely, a good subject causes those interested/able to help with your comment/problem to read the message. If you send a message without a subject, ezmlm will send it back to you with an error message.

ezmlm also rejects messages to the list if the subject is a single command word only, such as ``subscribe'' or ``help''. These are almost always misdirected commands from novice users. Instead of ``flames'' from many subscribers, the sender gets an informative error message. As you know, your should send mail to mailinglist-unsubscribe@example.org to unsubscribe from the list mailinglist@example.org and a message to mailinglist-help@example.org to get help and command information.

The list owner may place additional restrictions on messages to the list. ezmlm allows rejection of messages that are not from subscribers(*), that are too long/short(*), or that contain certain MIME parts(*). If your message is not acceptable by these criteria, ezmlm will send your message back to you and tell you why it failed. You can then correct the problem and try again. You can also mail mailinglist-owner@example.org to reach the list owner and ask for assistance. Replace ``mailinglist'' and ``example.org'' with the real list ``local'' and ``host'' name, respectively. In all messages to the owner, please include a FORWARDED copy of the error/problem message (see below). Note: ezmlm lists handle almost everything themselves. Therefore, the list-owner may check the mail only infrequently. Use ezmlm if at all possible, and be patient when you wait for a reply from the owner.

In special cases, the list owner may set up the list to be message moderated(*). When you subscribe, you should be told if the list is moderated. Also, ezmlm adds a special ``Delivered-To: moderator for ...'' header to the messages. On a message moderated list, your message, instead of going directly to the list, is sent to one or more moderators. They can accept or reject, but not modify the message. If the message is accepted, it is sent to the list unmodified. If it is rejected, it is sent back to you, optionally with an explanation from the moderator. On moderated lists it may take a little longer for the message to reach all the subscribers, since it has to be read and approved by at least one moderator before being sent out to the subscribers.

Message moderation is very useful for e.g. announcement lists, or lists where for other reasons not all posts are accepted. ezmlm does not reveal the moderators' identity to you. If you feel that you are treated unfairly by a moderator, please state your case to the list-owner.

1.6 Replying to a message from an ezmlm mailing list.

Messages sent via an ezmlm mailing list come ``From:'' the original sender. For many lists, it is appropriate to discuss privately with the original sender, then post a follow-up message with e.g. a solution to the list. In this case, just ``Reply'' to the sender. Without this behavior two things may happen: First, a subscriber may intend to reply to the original sender only, but sends a message to the entire list. This can be very embarrassing. Second, misconfigured subscriber programs sometimes send ``John is on vacation'' messages back to the ``From:'' address. The ezmlm setup allows these to go to the original sender (a minor nuisance) rather than to the list (a major nuisance with the potential for mail loops if the subscriber software is severely misconfigured).

In other cases, you may want to send the reply to all subscribers. The easiest is to type in the list address by hand or to use the ``Reply-to-all'' function of your mail reader. If you do this, delete your address as well as the original sender's address so that the message goes to the list only. Since messages reach subscribers within minutes, it is usually superfluous and sometimes annoying to also send a reply directly to the sender as well.

1.7 Accessing the ezmlm message archive.

By default, ezmlm mailing lists keep an archive of all the messages sent to the list. Some of them may have been removed by the list owner, but usually at least the last few month's message will be there. With ezmlm you can retrieve one message at a time with the -get command. With ezmlm-idx(*) you can access the archive in three different ways: You can get an ``-index'' listing message subjects and authors only. This information is sent as sets of 100 messages with up to 2000 entries per request. You can also ``-get'' a range of messages(*) (up to 100 per request) which will be sorted by subject (``Re:'' and other ``subject modifiers'' are ignored) and time received. Finally, you can retrieve a set of messages or a ``thread'' containing a specific message. This usually gives you an ordered set starting with the first post, and then all replies in order received.

To access the archive, again remember that commands are put into the ADDRESS. Here are examples of the commands:

mailinglist-get.123@example.org

Get message 123.

mailinglist-index@example.org(*)

Get the subject and author information for the last 100-200 messages. This also tells you the latest message number.

mailinglist-index.205@example.org(*)

Get the index for messages 200-299.

mailinglist-index.200_299@example.org(*)

Get the index for messages 200-299.

mailinglist-get@example.org(*)

Get the messages accumulated since the latest digest (returns latest 30 messages if there are no digests for the list). The normal format is MIME with only the important headers. If you instead of the -get command use -getr you get the digest as a single long message without MIME. The -getv command gives you the MIME format, but now all the headers of the individual messages are returned. (Normally only the important headers are included to save space but other headers may sometimes be relevant for error tracing, etc.)

mailinglist-get.123_456@example.org(*)

Get messages 123-456. Because you can only get up to 100 messages per request, only messages 123-222 will be send. Send new requests to get the remainder.

mailinglist-thread.123@example.org(*)

Get the thread containing message 123. To change the format, use the -threadr or -threadv format instead. These work just like their -get cousins (see above).

If you haven't been following the list for a while, or you just want to see the discussion of a specific question, the easiest is to start with -index(*). If not found, send further -index(*) requests going backwards in the archive. Once you've found one message (e.g. ``667'') in the thread use the -thread(*) command: mailinglist-thread.667@example.org to get the entire set.

If you're a digest subscriber and find an interesting discussion, use -thread or the mailinglist-get@example.org address to catch up with the latest messages in that thread or on the list. The -thread(*) command is also useful if you catch the tail end of a discussion and want to read earlier messages.

Some lists may be set up to allow archive access to subscribers only(*). If you are not a subscriber, you can simply subscribe. If you are a subscriber, but are denied archive access, you are subscribed under an address different from the one you are sending from. Easiest is to unsubscribe (see above) the current subscriber address and subscribe the address you're sending from. Alternatively, some mail programs (e.g. Mutt) allow you to change the SENDER address depending on where you are sending mail. Last, if this address difference is necessary, you may FORWARD a list message, and a note with the two addresses and a request to mailinglist-owner@example.org. The owner will add your second address to a special address list of senders allowed to access the archive (and post) even though they are not subscribers. Remember to replace ``mailinglist@example.org'' with the list address. (If you are adventurous, see Adding an alias for information on how to do this without the help of the owner.)

1.8 Getting ezmlm digests a few times per week rather than individual messages(*).

ezmlm list may be set up with a digest function. This is basically a second address database used to send out ``digests'', ordered collections of messages sent to the main list. Usually, a ``digest'' is sent out every other day. This is very convenient for users who want to follow a list, but not participate in the discussion. A digest is sorted, so it's easy to read what interests you. Thus, the digest for mailinglist@example.org would be called mailinglist-digest@example.org and you would mail mailinglist-digest-subscribe@example.org.

Simple ezmlm/idx lists test if the conditions for a digest are met whenever a message arrives. Thus, the digests do not arrive at a specific time, but rather approximately every two days, or more often if there is a lot of traffic.

On some mailing lists you are a subscriber, and as a subscriber, you can choose to receive the messages individually or as a digest. With ezmlm, you can subscribe to the ``list'' for individual messages, or to ``list-digest'' for digests. Some people prefer to subscribe to both: They can keep up with a discussion if they like, but if they have too little time they can just delete the individual messages and read the ``threads'' that interest them. To switch from being a ``list'' subscriber to being a ``list-digest'' subscriber, simply subscribe to the digest and unsubscribe from the main list. You will still be able to post to the main list.

With some mailing list managers, the digest is edited by a human. ezmlm digests contain each message as it was sent out by the list (apart from having many less informative headers removed). No editorials, no missing messages. The messages are ordered by subject (or ``story'' or ``thread'') and within each subject by arrival time. First in the digest is a table of contents with subjects, message numbers, and authors. Messages are enclosed as attachments so that a MIME-capable mail reader will allow you to see them as individual messages. This way, you can easily follow-up on a post even from the digest. The owner may chose to use a non-MIME single message format instead. This is most often done on old lists where the subscribers are used to that format and unaware or due to deficient mail readers unable to appreciate the advantages of the MIME format (Pegasus Mail and Mutt are free programs that do a good job).

The digest of a list ``list'' is called ``list-digest'', and the commands are the same as for the main list. Thus, to subscribe to mailinglist-digest@example.org (the digest of mailinglist@example.org) send a message to: mailinglist-digest-subscribe@example.org, or to subscribe the address jonesj@softx.com send to: mailinglist-digest-subscribe-jonesj=soft.com@example.org. Of course, ezmlm will send a confirmation request, and then a message notifying the user that s/he is a subscriber. If the list owner has chosen to restrict posts and archive access to subscribers, digest subscribers are automatically given the same privilege.

1.9 Unsubscribing from an ezmlm digest list.

You unsubscribe to the digest in the same manner as you unsubscribe from the main list (see Unsubscribing from an ezmlm list), but using the digest list name. Thus, to unsubscribe your current address from mailinglist-digest@example.org send mail to: mailinglist-digest-unsubscribe@example.org. Again, you can unsubscribe john@example.com by instead mailing mailinglist-digest-unsubscribe-john=example.com@example.org. ezmlm confirmation works as usual.

1.10 Temporarily halting message delivery.

Just unsubscribe from the list or list-digest, then subscribe when you want mail to resume. If desired, get missed messages from the archive with -get or just subject/author info with -index(*).

Due to the fast replies from ezmlm this is easier and more efficient than having ``dormant'' subscribers.

1.11 Contacting the list-owner.

You can contact the list owner by mailing to the ``owner'' address. For the list mailinglist@example.org just send your message to mailinglist-owner@example.org. Please state your problem and FORWARD any error message or a list message with your request. Since ezmlm can take care of virtually all request without human intervention, the list owner may read mail only infrequently. Please be patient and remember that in most cases you are asking the list owner to manually do what you could do yourself by e-mail via ezmlm with the information in the error or list message.


Next Previous Contents