LISTSERV is a system that allows you to create, manage and control electronic "mailing lists" on a corporate network or on the Internet. The person who manages a list is known as the "List Owner".
The goal of these pages is to introduce the beginning LISTSERV List Owner to the basic commands, configuration options, and Frequently Asked Questions (FAQ) that new List Owners face when they first begin managing a LISTSERV-based mailing list.
Since LISTSERV is a very robust, feature-rich system, all of the options and functionality cannot be discussed here. For detailed information on LISTSERV commands, the List Owner should refer to the LISTSERV Owner's Manual
Congratulations! You are a new List Owner! (Now what do you do?)
The Command Address and List Address
The most important thing to keep in mind is that all commands to query, change, and configure your list are done mainly via e-mail messages, this is true whether you are a List Owner sending in list configuration options or a List Subscriber setting personal options.
The address to send commands, queries, etc., is known as the Command Address. This address is different than the List Address where messages are "posted" to the list. The most common mistake among List Subscribers is to send commands to the List Address and to try to post messages to the Command Address.
For example, the Command Address for our Fredonia Listserv server is
And the List Address is
assuming that your list name is listname.
Firsts Steps in List Ownership
The first thing you must do is create a personal password as List Owner and GET your list. The terminology "GET your list" means that you retrieve the configuration file containing all the list control parameters so that you can customize your list to your specifications. Of course, you could keep the initial specifications that your list was installed with and it will run just fine. However, it is likely that the more you know about configuring your list, the more you will want to customize it to meet your specific needs.
Setting Up a Personal Password
To set up a password so that configuration options can be altered for the list, send this command to the Command Address:
PW ADD mypassword
where mypassword will consist of alphanumeric characters from the set: A-Z a-z 0-9 $#@_-?!|%. Passwords are not case sensitive.
When LISTSERV receives your password request, it will send you an e-mail message asking you to confirm your password for security purposes. When you receive this message, you should reply to it by inserting the word "OK" (without the quotes) in the body of the reply. No other words should be in the reply and you should check your "Send to:" field to make sure that the address is the LISTSERV Command Address. These instructions are also repeated in the message asking you to CONFIRM your password.
"Getting" Your List
To see your initial specifications for your list, (hereafter called the "List Header") you will send in the command
GET listname (HEADER
to the LISTSERV Command Address. Replace the parameter listname with the name of your list. The parameter (HEADER, which can be abbreviated as (HEAD is required for you to retrieve only the configuration options and omit the e-mail addresses of List Subscribers. The "(" is required. It is recommended that you always use this (HEAD parameter to avoid complications when using the PUT command to save your List Header back to LISTSERV. You could inadvertently overwrite your entire list of subscribers, and thereby destroy your list, should you PUT a list header that included subscriber addresses.
The GET command automatically "locks" your list so that no changes can be made to the operating copy on the server until you store your list back to the server via a PUT command. Alternatively, should you decide no changes are needed, issue an UNLOCK listname command. A locked list prevents new subscribers from joining the list or existing subscribers from changing their delivery options. You don't want to leave the list in a "locked" state for days or weeks.
"Putting" or Storing Your List Back to the Server
When you GET your List Header, the file will be sent with the command
PUT listname LIST PW=XXXXXXXX
already written as the first line. This enables you to simply insert your password (in place of the XXXXXXX) when you send the List Header back to the Command Address after you have made any desired changes. The text lines making up the List Header must follow directly after the PUT command line as part of your mail msg. Do not send the List Header as a mail attachment.
After the List Header is successfully stored on the server, you will receive a confirmation via e-mail. Any syntax errors will be identified and reported back to you.
For a complete and detailed explanation of all List Header keywords and examples of their use see the LISTSERV List Header Keyword Reference.
Adding Subscribers to Your List
You may add users to your new list individually by sending the following command
[QUIET] ADD listname user@address Firstname Lastname
to the Command Address where listname is the name of your list and the subscriber's first and last names replace Firstname Lastname. If the full name is unavailable, you may use an *.
The [QUIET] modifier is an optional parameter and indicates that no notification or WELCOME file will be sent.
You may add multiple subscribers at a time by sending the "bulk-add" command
QUIET ADD listname DD=X IMPORT
//X DD *
user1@address Firstname Lastname
user2@address Firstname Lastname
to the Command Address.
The bulk method allows you to omit the full name if it is unavailable.
No notification will be sent to the new subscribers. You may wish to post to your list after adding everyone to let them know that the list is now ready.
Subscribers may add themselves. You may also tell your potential list members they can subscribe themselves by sending the command:
SUBSCRIBE listname Firstname Lastname
to the Command Address.
Potential subscribers may also send an email msg to the special "command-free" subscribe address:
The content of the msg is ignored, the use of the special subscribe-address is sufficient.
Deleting Subscribers from Your List
To delete subscribers from your list send the command
[QUIET] DELETE listname user@address
to the Command Address. The DELETE command (which can be abbreviated DEL), must have the subscriber's address and must not have the full name (i.e., Firstname Lastname) as parameters.
The [QUIET] modifier is an optional parameter and indicates that no notification will be sent to the subscriber.
Subscribers may remove themselves. You may also tell your potential list members they can un-subscribe themselves by sending the command:
to the Command Address.
Subscribers may also send an email msg to the special "command-free" signoff address:
The content of the msg is ignored, the use of the special signoff-address is sufficient.
Finding who are the List Members
If you wish to get a list of subscribers for your list send the command
to the Command Address. The REVIEW command may be abbreviated REV and has many options. For example, if you wish the list of subscribers without the List Header attached send
REV listname NOH
where NOH stands for NOHEADER. Or if you only wish a count of members, the command
REV listname S
where S stands for SHORT. Or send them together
REV listname S NOH.
If a subscriber has "concealed" their subscription from a REVIEW command, the List Owner can always get a list of all concealed subscribers via the QUERY command.
The QUERY command is very powerful and allows wildcards. For example, to get a list of all subscribers (and their subscriber options) send the command
QUERY listname FOR *@*
If you only want the "concealed" members send
QUERY listname WITH CONCEAL FOR *@*
In both cases the * means that any character can appear before and after the @ in the e-mail address.
For more information on adding and deleting subscribers see the LISTSERV Owner's Manual Chapter 4. For more information on managing subscriber options see this tutorial or LISTSERV Owner's Manual Chapter 5.
Sample List Headers
The flexibility of LISTSERV permits numerous variations in the types of mailing lists that can be defined. Below we have provided sample List Headers that you may wish to use and/or modify to meet your requirements. These examples will also allow you to become familiar with many List Header specification keywords and their parameters. A complete alphabetical listing of all List Header keywords may be found in the LISTSERV List Header Keyword Reference.
There are several ways in which a moderated list may be defined and these are explained in detail in the LISTSERV Owner's Manual.
One method is to define the List Header keywords:
* Send= Editor, Confirm
* Editor= editor1@address
which forwards all postings from non-editors to the list editor or moderator for approval. The list editor will then forward the message back to the list. However, unless your mail program supports special Resent-From: header lines, the mail From: address may be changed to appear to come From: the editor, not the original sender.
* Send= Editor,Hold,Confirm
* Editor= editor1@address
will make LISTSERV hold the posted message until the editor approves the post with the "OK" mechanism. This method allows the message From: line to remain that of the original poster, and is recommended as the easiest for beginning List Owners.
Error messages fall into three major categories.
- E-mail that LISTSERV sends is rejected by a delivery address and "bounces" back to the special LISTSERV error address.
- LISTSERV rejects List Owner or List Subscriber posts.
- LISTSERV rejects List Owner or List Subscriber commands.
Delivery Error Messages or "Bounces"
The good news is that the List Header keyword Auto-Delete= allows LISTSERV to intercept and handle most error messages that it receives when mail is rejected. Additionally, the Errors-to= keyword can direct error messages to a specific address rather than the owner's e-mail address. These two key options can greatly reduce the List Owner's workload.
The bad news is that not all e-mail systems are compliant with Internet standards. Therefore, LISTSERV is unable to intercept and handle all error messages. In these instances, the List Owner must take action. The most common action is for the List Owner to either DELETE the address or to set the subscriber to NOMAIL NOPOST. The latter method is kinder; for when the subscriber attempts to post to the list they will be directed to the List Owner for assistance.
|Error Message||Recommended Intervention|
|No such user at host||This message could be transitory. Set the subscriber to NOMAIL NOPOST or DELete.|
|No such host||This message could be authoritative or transitory. Set the subscriber to NOMAIL NOPOST.|
|No MX or A records for host||This message could be authoritative or transitory. Set the subscriber to NOMAIL NOPOST.|
|Transient Failure: cannot deliver for n days||A host is experiencing periodic failures and the intermediate host or gateway will store the message and try to deliver it for n days. Usually, by the time you get this message the problem is resolved. Therefore, you can either "wait out" the problem or set NOMAIL NOPOST as above.|
|mailbox full||Some subscriber's providers have a limitation on mailbox space. Or the subscriber may have gone on vacation and forgotten to unsubscribe or set themselves to NOMAIL. Set the subscriber to NOMAIL NOPOST.|
|unknown mailer error x||A UNIX sendmail configuration error message. Could also indicate a full mailbox. Set the subscriber to NOMAIL NOPOST.|
|Bounced, but sent successfully||Misleading. Equivalent to "no known user." Set the subscriber to NOMAIL NOPOST|
Rejected Subscriber Posts
There are many possible reasons that List Subscribers or List Owners may not be able to post to the list. Several of these are described below.
|Subscriber is sending mail to the Command Address||Inadvertently, subscribers may send postings to the LISTSERV Command Address rather than the List Address. Since LISTSERV cannot recognize any command in the post, it will reject the "command" and send an error report to the subscriber. Hopefully, the subscriber will realize what they did and post correctly.|
|Subscriber is sending mail from an unsubscribed address||It is important to note that Private and Self-moderated lists only allow direct posting by subscribed members. Therefore, if a subscriber attempts to post from an unsubscribed address or an e-mail address even slightly different than their subscribed address, the post will bounce (for a Private list) or be sent to the moderator for review (for a Self-moderated list).|
|Subscriber has been deleted due to the Renewal and/or Auto-Delete configuration||Only subscribers may post to a Private or a Self-moderated list.|
|Subscriber is set to NOPOST||The subscriber option NOPOST has been set, and therefore, this user is not allowed to post to the list. (Does not apply to LISTSERV-Lite.)|
|List Storage Quota has been exceeded||The disk Quota for archiving and digests has been exceeded and therefore the list is in the HOLD state. The Quota must be increased or files deleted, and the FREE listname command sent for posting to be resumed. (This will apply to all members.)|
|LISTSERV internal loop checking routines have rejected a post||By default, LISTSERV's internal loop-checking routines look for anything in the body of a mail message that looks like a header line - specifically anything that looks like a "To:", "Sender:", or "Reply-To:" header line.|
|Bounced, but sent successfully||Misleading. Equivalent to "no known user." Set the subscriber to NOMAIL NOPOST|
There are many possible reasons that List Subscribers and List Owners may have commands rejected. Several of these are described below.
|The command is being sent to the List Address rather than the Command Address.||LISTSERV tries to recognize possible commands in list mail. If commands are found, LISTSERV sends an error report to the sender. Hopefully, the subscriber will realize what they did and send the command correctly.|
|Command sent from an unsubscribed address.||Depending upon the security level of your list, many commands must be sent from the subscribed address.|
|Command can only be performed by an authorized person.||Some list commands may only be issued by the List Owner. Furthermore, there are some protected commands that may only be issued by the LISTSERV Site Manager at your host.|
|Commands not acknowledged by LISTSERV.||You send a command and get back nothing at all from LISTSERV. Note that LISTSERV ALWAYS sends a command acknowledgement message for every command, reporting the success, results, or failure of the command. The problem is that some e-mail providers are not compliant with Internet standards and may reject LISTSERV command acknowledgement msgs (which use a Blank RFC821 From: <> return address) in a misguided attempt to prevent "spamming." The only solution is to try and convince the provider that LISTSERV mail is valid and the standards in fact require mailers to accept this kind of mail or to change providers.|
Frequently Asked Questions
The Ease-Home Support Forum has proven to be a valuable resource for both new and experienced List Owners. Over time, many Ease-Home List Owners have faced similar problems and shared their expertise. The following are some of the Frequently Asked Questions that have appeared on the list.
1. "How can I get a label to appear in the "Subject:" line of all posts so subscribers can easily tell that the message is from my list?"
The Subject-Tag= List Header keyword controls the label prepended to each post. In the List Header, ensure that you have the lines:
* Subject-Tag= "label"
where "label" is either listname or some other label you wish to use. For example, a list named ROCKANDROLL could have
* Subject-Tag= ROCKANDROLL
in the header and the label [ROCKANDROLL] would be prepended to each list message "Subject:" line.
However, if you did not want such a long label you could set specifically,
* Subject-Tag= ROCK
which would result in the label [ROCK] being prepended to the "Subject:" line of each message.
In addition, you would need to ensure that the Default-Options= keyword in the List Header is as follows
* Default-Options= SUBJ,option2,option3,
so that all new List Subscribers would be set to SUBJECTHDR or SUBJ and receive the label in their "Subject:" line.
To ensure that all existing subscribers also receive the label the List Owner must send in the command s
SET listname SUBJ FOR *@*
The * notation indicates a wildcard and therefore indicates that all existing subscriber e-mail addresses will be changed to have the SUBJ setting.
2. "When I use the "Reply" feature of my mail program sometimes the message goes back to the list and other times it goes back to the person who posted the original message. Why is this and how can I set it so that it always goes back to the list (or to the subscriber, etc...)?"
The Reply-To= keyword in the List Header is used to control the configuration of the "Reply-to:" header line in every message that LISTSERV processes.
The default setting is
* Reply-To= List,Respect
which will set the "Reply-to:" field to the List Address unless the original sender has something set in that field, in which case LISTSERV will respect what is there and will not change it. The Respect option is the reason why some replies will go back to the list (if the original sender does not use a "Reply-to" field) and some will go back to the original sender.
Another option is
* Reply-To= List,Ignore
which will set the "Reply-to:" field to the List Address and ignore (override) the setting in the "Reply-to:" field set by the original sender. This will result in replies more consistently going back to the list.
Another option is
* Reply-To= Sender [,Respect or Ignore]
which will set the "Reply-to:" to the original sender's address (same as the From: field). The optional Respect or Ignore will operate as stated above.
This keyword will allow you to control how LISTSERV populates the "Reply-to:" address in the messages it processes. However, because of variations in mail programs, some inconsistency may result even when the keyword is set as desired. Some programs may use the "Reply-to:" field address; however others may use the "From:" address. And even others use the (hidden) "Sender:" field. There may even be a choice that the user can specify. There are as many variations as there are different kinds of mail programs and there is no set rule or standard.
Therefore, List Subscribers must learn the details of their own mail program and be responsible and pay attention to where their messages are directed.
3."When I issued the REVIEW listname command I noticed that some of my subscribers are set to CONCEAL. Since I do not want anonymous subscribers how can I prevent them from CONCEALing themselves?"
You cannot prevent a subscriber from setting their e-mail address to be omitted from a REVIEW command. However you can reverse their setting by issuing the command
[QUIET] SETlistname NOCONCEAL for user@address
or for all subscribers use wildcards:
[QUIET] SET listname NOCONCEAL for *@*
The [QUIET] will suppress notification to the subscriber.
However, nothing will prevent the subscriber from concealing their address once again. You will need to issue the above command periodically to "unconceal" subscribers.
Even though a REVIEW listname command may result in some subscribers being omitted due to CONCEAL, list owners may always get a list of all members set to CONCEAL by issuing the command:
QUERY listname WITH CONCEAL for *@*
Therefore, all subscribers’ addresses are available to the List Owner. If you are adamant about having no anonymous subscribers then you may wish to make it part of your list charter and delete those subscribers who insist on concealing their identities.
Where to Find More Information
These links provide further detail for List Owners.
Official L-Soft Documentation
Ease-Home Support Forum List Archives
Tutorial on Setting Subscriber Options
Creating Custom Welcome and Farewell Files for Your List
L-Soft international, Inc. QuickStart Guide for New List Owners for LISTSERV, version 1.8dcustomized to Fredonia's Listserv. For any questions or assistance, please contact the List Manager.