This document is based on the documentation that accompanies the Majordomo application software and makes use of sections of a chapter about Majordomo from the Nutshell Handbook Managing Internet Information Services, written by Jerry Peek. The chapter is (c) Copyright 1994 by O'Reilly & Associates, Inc., and is used in the Majordomo List Owner's Guide by permission of the publisher.
Should you have any suggestions or additions, please forward them by electronic mail to <majordomo-support@concordia.ca>. If your suggestion or addition is incorporated, your name will be added to the credits at the end of this document.
Questions and requests for assistance should be addressed to the IITS Help Line at 848-7613 or <help@concordia.ca>.
What is a list server?
What is Majordomo?
Common User commands
Common Administrative Commands
Modifying the Configuration File
Approving Subscriptions and Moderating
Undeliverable Messages
For More Help...
A list server (or more properly, a mail reflector) is a program designed to accept mail messages and to redistribute them to a predefined list of mail recipients. In such a way, a single message may be distributed to many individuals. List servers often maintain a number of different lists, each with a separate name, purpose, distribution (or membership) list, and characteristics.
Majordomo is a system-independent distribution list management system. It automatically handles routine tasks such as forwarding mail to list members, archiving messages for future reference, and subscriptions and unsubscriptions. As well, each list, once established, can be controlled by the list owner via electronic mail.
The list owner is the person (or persons) who will run day-to-day operations of a mailing list by responding to mail messages from Majordomo. Each mailing list operated by Majordomo must have its own list owner(s).
Majordomo supports open, closed, and auto lists. A subscription request sent to an open list will be approved automatically. Only if the request specifies an address different from the one in their e-mail header (the address from which they sent the subscribe command) will the request be referred to the list owner for approval.
Requests for subscriptions to closed lists will be sent to the list owner for approval. Only after the list owner has approved the subscription request and resubmitted it to Majordomo will the subscription process be complete.
An auto list has the absolute minimum of maintenance (but also a minimum of security). All subscription or unsubscription requests will be honoured without any input from the list owner. For example, anyone can subscribe or unsubscribe anyone else.
Majordomo has public and private lists. In a public list, subscribers have access to information about other subscribers through the who and which commands; in a private list, they don't. When a list is private, only subscribers can use the archive commands index and get.
As well, Majordomo supports unmoderated and moderated lists. If a list is unmoderated, all messages sent to the list are immediately forwarded to other list members with no list owner intervention. If the list is moderated, all messages sent to the list will be forwarded to the list owner for review. Only after the list owner has approved a message will it be submitted to the list for distribution.
The owner can potentially receive four types of messages: requests to approve subscriptions (or unsubscriptions), requests to approve messages to the list, notifications of successful subscriptions or unsubscriptions, and bounces (messages sent to the list that weren't delivered). Which of these the owner receives, and how many, depends on the setup of the list (and of course, how many members the list has). On Alcor, Majordomo provides an approve script to help handle approval of subscriptions and messages, and a bounce to help handle bounces.
Majordomo accepts a small set of non-administrative commands. Commands available include ones that allow individuals to enquire about lists distributed from the list server, and to subscribe to and unsubscribe from specific lists. Commands should be sent in the body of an email message to <majordomo@concordia.ca> (or in%"majordomo@concordia.ca" on the VMS computers).
- subscribe <list>
- Subscribe yourself to the named <list>.
- unsubscribe <list>
- Unsubscribe yourself from the named <list>.
- which <string>
- Reports the lists to which you (if <string> is omitted) or others (if <string> is any part of an email address) are subscribed.
- who <list>
- Find out who is subscribed to the named <list>
- info <list>
- Retrieve general introductory information for the named <list>.
- index <list>
- Gives a listing of files in the archive for the named <list>.
- get <list> filename
- Requests that the file named "filename" is mailed to you from the <list> archive.
- lists
- Show the lists distributed by this Majordomo server.
- help
- Retrieve a summary of Majordomo user commands.
- end
- Tell Majordomo to stop processing commands. This command is useful if your mailer adds a signature at the end of a mail message.
Note 1: Commands in the "Subject:" line are NOT processed.
Note 2: If your mailer program appends a signature to your messages, place an END command at the beginning of the line following your last Majordomo command.
Note 3: Make certain that the editor you are using does not "wrap" or reformat long lines.
Caution: Users of IITS Majordomo mailing lists should send all commands to majordomo@concordia.ca. NEVER send commands to the mailing list address (e.g., never to list_name@concordia. ca)! Only messages intended for members of the list should be sent to the list address.
The list owner has an extended set of available commands. These commands allow the list owner to change the list password, approve subscriptions if the list is closed and messages if the list is moderated, and alter a number of other list characteristics. In the description below, items contained in []'s are optional. When providing an optional item, do not include the []'s around it.
The following commands are available:
- config <list> <password>
- This command requests Majordomo to mail to you the current configuration file for your list. The configuration file controls the list's behaviour (for example, whether the list is open or closed, unmoderated or moderated, the description of the list displayed by the lists command, etc.). The following section explains how to make the most common changes to the configuration file.
- newconfig <list> <password>
- Once you have finished modifying the configuration file, you must reconfigure the list by sending the new configuration file to majordomo@concordia.ca. The message must begin with the newconfig command and have the new configuration file appended immediately after. You will receive a confirmation message if there are no errors; if there are errors in the new configuration file, you will receive a report describing which line(s) errors were found on. If there are errors in the configuration file, the current configuration will remain in effect.
- newinfo <list> <password>
- You may use the newinfo command to replace the information file that people receive when they send an "info <list>" or "subscribe <list>" command to Majordomo. Newinfo causes Majordomo to read everything after the command, up to the end-of-message or the word "EOF" (note the capital letters) on a line by itself, as the new info file for the list.
- approve <password> [subscription request]
- If you set subscriptions to your list to be "closed", subscription requests will be forwarded to you. Should you receive one, you need only delete all lines in the message except the subscribe or unsubscribe request. Insert your actual password into the subscription request and send it back to majordomo@concordia.ca. This can be done in most mailers via their "forward" or quot;resend" function. You can also manually subscribe (or unsubscribe) individuals to your list by sending the above command with the appropriate [un]subscription command. On Alcor, Majordomo provides an approve script to help handle approval of subscriptions and messages, and a bounce to help handle bounces.
Note 1: Commands in the "Subject:" line are NOT processed.
Note 2: If your mailer program appends a signature to your messages, place an END command at the beginning of the line following your last Majordomo command.
Note 3: Make certain that the editor you are using does not "wrap" or reformat long lines.
Caution: Users of Concordia University Majordomo mailing lists should send all commands to <majordomo@concordia.ca>. NEVER send commands to the address of the mailing list (e.g., <list-name@concordia.ca>)! Only messages intended for members of the list should be sent to the list's address.
The Majordomo configuration file contains information that controls how your list behaves. It contains many parameters that control, amongst other things, the administrative and approval passwords, whether your list has open or closed subscriptions, and whether your list is moderated or unmoderated.
The first step in modifying your configuration file is to get a copy of your list's configuration file. To do this, you need to send the command:
config <list-name> <password>in the body of a message to <majordomo@concordia.ca>.
Once you have a copy of the configuration file, you may make whatever
alterations you wish. Once you have completed the modifications, place
the line:
newconfig <list-name> <password>before the first line of the text of the configuration file. Make certain there is no extraneous text at the end of the configuration file.
When you have completed the alterations, send the altered configuration file as the body of a message to <majordomo@concordia.ca>.
The Majordomo configuration file is made up of a number of keywords each controlling a particular characteristic of your list, and a value (or series of values) that is associated with that keyword. The keywords most likely to be altered by a list owner are:
- admin_password = password
- The administrative password is used to allow a list owner to perform administrative tasks such as modifying the configuration file. The default administrative password is set when the list is created. To change the administrative password, just replace the current password associated with this keyword with the new password you have chosen.
- administrivia = yes/no
- Request Majordomo to look for administrative requests in submissions to the list (e.g. subscribe/unsubscribe, info, help, . . .) and forward them to the list maintainer instead of the list. In general, this is a useful feature to turn on; a common error made by list members is to send administrative requests to the list itself. Once in a while, however, Majordomo will become confused by words and symbols that appear in normal messages and will also bounce then from time-to-time. If you encounter problems in which otherwise acceptable messages are bounced to you, we suggest that this feature be turned off with a no.
- approve_password = password
- The approval password is used to allow a list owner to post messages to a moderated list. The default approval password is set to the same value as the administrative password when the list is created. To change the approval password, just replace the current password associated with this keyword with the new password you have chosen. You may wish to have different administrative and approval passwords if someone else is helping you screen messages on a moderated list.
- description = "text"
- Majordomo maintains a "list of lists" offered at this site and distributes it in response to a list command. The text associated with this keyword is a short description of the list, such as, "Anthropology 927 discussion list."
- moderate = yes/no
- If yes is entered, all postings to the list must be approved by the list moderator. Enter no if you want the list to be unmoderated.
- noadvertise
- If you do not wish your list to be shown when a list command is sent to Majordomo by someone who is not a list member, place the string "/.*/" on a line between the noadvertise << END line and the END line.
- reply_to = list_name | $SENDER
- Replies to messages will be directed to the list for distribution to all list members (the default). If you wish replies to be sent only to the author of the message, replace the list name with the string $SENDER.
- private_get = yes/no
private_index = yes/no
private_info = yes/no
private_which = yes/no
private_who = yes/no
- If you wish to restrict to list members access to some or all of: files associated with the list, the index of those files, the message describing the list, or the e-mail addresses of list subscribers, place yes after the appropriate keywords; otherwise, anyone sending one of these commands to Majordomo will receive the requested information.
- subscribe policy = open/closed
- Anyone may subscribe themselves to a list with an open subscription. The list administrator must subscribe each individual to a list with a closed subscription
Caution: The list password must accompany all administrative requests. Anyone who knows the password may also make administrative changes to the list. You may give the pass-word to alternate list administrators to take some of the burden off of you, but ... remember! Anyone who finds out the password for your list may also make changes to the list. Guard your password!
The material on approving messages now has a separate location.
From time-to-time, your list will send a message to a list member that cannot be delivered. Possible causes of this are: the recipient's account has been disabled or deleted, the account has insufficient space to store the incomming message, or the recipient's machine is temporarily out of service.
Notices of undeliverable messages are sent to the list owner. The body of the message will contain the email address that failed to accept the distributed message:
#915 28-FEB-1995 15:44:56.14 MAIL From: IN%"MAILER-DAEMON@clyde.concordia.ca" "Mail Delivery Subsystem" To: IN%"donut-makers-owner@clyde.concordia.ca" CC: Subj: Returned mail: User unknown The original message was received at Tue, 28 Feb 1995 15:43:36 -0500 from majordom@localhost ----- The following addresses had delivery problems ----- rlz999@alcor.concordia.ca (unrecoverable error) (expanded from: :include:/local/etc/majordomo/lists/donut-makers) ----- Transcript of session follows ----- Message delivered to mailing list donut-makers-outgoing ... while talking to alcor.concordia.ca.: >>> RCPT To:<RLZ999@alcor.concordia.ca> 550 <RLZ999@alcor.concordia.ca>... User unknown 550 rlz999@alcor.concordia.ca... User unknown Return-Path: owner-donut-makers Received: (from majordom@localhost) by clyde.concordia.ca (8.6.10/8.6.10) id PAA 00190 for donut-makers-outgoing; Tue, 28 Feb 1995 15:43:36 -0500 Date: Tue, 28 Feb 1995 15:38:14 -0500 (EST) To: donut-makers@concordia.ca From: elliek@hearthbake.com (Ellie Katella) Subject: jelly donuts Message-id: 01HMHZK8PQU2004L72@VAX2.CONCORDIA.CA> MIME-version: 1.0 Content-type: TEXT/PLAIN; CHARSET=US-ASCII Content-transfer-encoding: 7BIT What's your favorite recipe for jelly donuts? Thanks.
Accounts that are unable to accept mail messages must be removed from the distribution list for your list. Unfortunately, bounced messages come in so many different formats that it's hard to completely automate subscriptions to the "bounces" list. (In fact, in some cases, the addressee of the bounced mail won't even be shown in the message!) If the list owner's system can run a Perl script, the bounces script makes the job easy. The script works differently than approve. The script doesn't read a message from a file or standard input. Instead, it reads the command line arguments. The command on Alcor is:
% bounce listname user@xyz.comThat command would unsubscribe the address user@xyz.com from the "listname" list and add them to the "bounces" list.
Like Approve (see approving and moderating), bounce requires that a file named ".majordomo" (the name starts with a dot) exist in the owner's home directory. The .majordomo file contains an entry for each of the owner's lists: the list name, list approval password and e-mail address of its Majordomo server. For example, this is the ".majordomo" file for the owner of the donut-makers and mud-wrestlers mailing lists:
donut-makers !BooM! Majordomo@concordia.caAs well, this file must contain an entry for the bounces list. The password for the bounces list is available to list administrators upon request.
mud-wrestlers GoJoan Majordomo@concordia.ca
An owner who can't run the bounce script can send mail to Majordomo with two commands like these:
approve passwdA unsubscribe listname user@xyz.com
approve passwdB subscribe bounces user@xyz.com (931005 listname)
The first command unsubscribes the user from the current list. The second one subscribes the user to the "bounces" list, with a comment that shows the date and the name of the list they used to belong to. PasswdA and passwdB are the administrative passwords for "listname" and "bounces" lists, respectively.
If you run into problems, BY ALL MEANS SAY SOMETHING! This server is meant to simplify the management of mailings lists at Concordia University. We in IITS want it to be successful! To report a problem administrating your list, contact the IITS Help Line, either by email at help@concordia.ca or by telephone at 848-7613.
Copyright, © 2005, Concordia University
Author: Geoff Selig
Credits: Anne Bennett, Yoly Young
Maintained by:
majordomo-support@concordia.ca
Last update: 2001/08/10 -- Anne Bennett