Skip to content
Skip to navigation menu


Majordomo List Owner's Guide

This page explains what a majordomo list owner / administrator needs to do to maintain his mailing list, and the basics of how to do it.

Most lists will not require very much work from the list owner, but even with majordomo set up to provide as much help as an automated program can, there's still a certain minimum of routine work associated with each list: checking the mail generated by the program to make sure nothing went wrong and handling the things which slip through the cracks.

We expect that a large number of people will want mailing lists, and we do not have the resources to handle this routine work for all of them. Therefore, we must have a list owner/administrator for each mailing list we create.

The person who wants the list is responsible for finding a list owner, but need not be the list owner themselves; if you want a list but don't have the time to administer one, or don't feel comfortable enough with computers to administer one, you can find someone willing to do the list administration and jointly request the list: you will be the "list sponsor" and the person handling the administration duties will be the "list owner."

Email and Majordomo

An electronic mail address (or email address) is the equivalent of a postal mail address: it is a location to send electronic mail (or email). The email address points to an electronic mailbox (or email box, or mail drop) which holds the mail.

A mailing list is effectively an email address which points to many different email addresses. To be a bit more precise, an automated process accepts mail sent to that address, processes it, and resends it to a set list of addresses.

A list owner is the person responsible for maintaining a mailing list. Primarily what this involves is seeing that the list of addresses it resends mail to is current. Other responsibilities depend on the list but can include dealing with bounced messages, approving messages sent to the distribution address before they are resent, writing a short description of the list, and guiding the tone or the direction of the discussion.

Majordomo is a mailing list management program. Essentially, it's a tool to help the list owners manage their lists. It is designed to handle the routine administration of mailing lists automatically, minimizing the work the list owners need to do personally.

Back to top

Using Majordomo

People send commands to majordomo by sending mail to majordomo; to control a Cardiff mailing list, you would send email to Majordomo ignores the subject line of the messages and treats the contents of the letter as a command -- or a series of commands, each on a separate line.

Both list owners and list subscribers use majordomo. It accepts a large number of commands from list subscribers and executes them automatically, so that you do not need to personally subscribe and unsubscribe every individual, answer each request for information about the list personally, and so on.

See our Majordomo for list subscribers guide for more information about what list subscribers can use majordomo to do.

If you're offering a mailing list for a specific group of people, for example those in a given class or department, you should probably photocopy the document and hand it out to your intended subscribers; the more they use majordomo, the easier your work as a list owner will be.

The list administration commands fall into four categories:

List of Commands

Here's a basic list of commands and their descriptions.

  • Wherever "listname" is referred to, substitute the name of your list;
  • wherever "password" is referred to, substitute the password for your list;
  • wherever "address" is referred to, substitute the email address of the appropriate reader.

approve password subscribe listname address

subscribes the address given to the named list.

approve password unsubscribe listname address

unsubscribes the address given to the named list.

newinfo listname password

changes the information a user retrieves with the "info" command; readers automatically get the information when they subscribe as well.

config listname password

Majordomo sends you a copy of your current list configuration file.

newconfig listname password

changes your list configuration file.

writeconfig listname password

replaces your list configuration file with the default list configuration file.

passwd listname password newpassword

changes your password to the new password you give

The subscription commands

There will be times when you want to subscribe or unsubscribe someone who hasn't sent an (un)subscribe request to majordomo. Perhaps you want to simply subscribe everyone in your class. Perhaps someone's account has been deleted and he didn't send an unsubscribe request beforehand.

You can subscribe readers by sending majordomo the command "approve password subscribe listname address".

Likewise, you can unsubscribe readers by sending majordomo the command "approve password unsubscribe listname address".

It is very important that if you are going to subscribe someone who hasn't sent a subscription request that you make sure you have their correct email address. If you subscribe an email address which someone has but never reads, he won't receive your list and his unread mail will pile up and cause problems. Worse yet, if you subscribe an email address which is mistyped or looks right but isn't their mail will be rejected and bounced back to the list owner, and you'll have to figure out what went wrong and unsubscribe the address.

The above command is also used when someone requests a subscription they do not have the authorization to receive automatically. This can be if someone requests a subscription for another email address (unless you have an "auto" subscription policy to let anyone subscribe any address), or for all subscription requests if you have your list set up so that all subscriptions require confirmation (a "closed" subscription policy). In either case, their mail will be forwarded to you, with the email address for the subscription attached if they didn't supply it.

If you add "approve password" to the beginning of the line (the entire line will say "approve password subscribe listname address") and resend the letter to majordomo, majordomo will take their address from the letter it forwarded to you (you must leave the letter's header intact when you reply to majordomo, however!) and subscribe them.

Unsubscribing someone when unsubscription requires approval goes by a similar process: they send "unsubscribe listname" to majordomo, majordomo sends the letter to you, you edit that line to say "approve password unsubscribe listname address."

The information command

Majordomo is set up to answer some informational queries, and it can include queries about a specific list.

The list owner can use the newinfo command to tell the computer how to answer a general query for information about the list.

You send majordomo "newinfo listname password" on one line, and then type the information you want majordomo to reply with, making sure to include returns at the end of each line. After the information, type "END" on a line by itself.

For example:

newinfo listname password
This is line one of what readers see.
This is line two of what readers see.
This is line three of what the readers see.
The next line will be blank.

The previous line is blank.
There could be many more lines.
This is the end of the info.

The lines after end could have other commands and they would not affect the newinfo command.

Majordomo stores the information, and replies with it to general information queries about the list -- that is, the info command. It also adds this information to the end of its reply to a subscription request.

The reply to an information query for the above list would say:

Subject: Majordomo results


>>>> info testing-list
[Last updated on: Mon Oct 3 15:03:01 1994]
This is line one of what readers see.
This is line two of what readers see.
This is line three of what the readers see.
The next line will be blank.

The previous line is blank.
There could be many more lines.
This is the end of the info.

The password command

The password command allows you to change your password.

Ideally, you should change the password into something that is easy for you to remember, but not easy for someone to guess.

It should not be a word in any dictionary, including technical dictionaries and foreign language dictionaries; there are programs which 'guess' every word in a dictionary that's given to them.

Your password should be eight characters long, and use one or more of the following tricks: unusual characters, a mixture of letters and numbers, or a mixture of upper-case and lower-case letters. Caution: majordomo cannot accept a pound sign (#) as a password character.

There are two classic tricks to choosing a password that's easy to remember but difficult to guess. First, you can pick a phrase and use the first letter in every word in the phrase, picking a letter or two to capitalize. For example, "Start at the beginning, continue to the end" becomes satbctte, which becomes satBcttE. Second, you can use misspelled words or combinations of misspelled words; you can then use random capitalization and/or stick in numbers. For example, Two Blue become tuo bloo, which becomes tuo2bloo.

In order to change your password, you send the command "passwd listname password newpassword." Substitute your list's name for "listname," your current password for "password," and your desired new password for "newpassword."

The configuration commands

Your configuration file controls the settings of your list: the subscription policy, the digest policy, whose queries for information it will answer, who can send to the list, and so on.

Unless you want a personally-configured list, there is only one change you will need to make to this file: setting the half-line description of your list that will appear whenever people ask majordomo for a catalogue of its lists.

As a whole, the configuration settings are very important and very powerful.

They can also be very troublesome if they're set incorrectly, so be careful. There is a "restore to default" command, but you should also keep a copy of your most recent configuration file so that you won't lose any changes you have made.

There are three commands controlling your configuration file.

The first of the three commands retrieves a copy of your current configuration file. Whenever you make any change to your configuration file, you should always send a request for a copy, and retain the copy of your most recent configuration file, so that if something goes wrong you can simply restore from your own backup. In order to receive a copy of your list's configuration file, send majordomo a message saying, "config listname password." Majordomo will then send a reply which includes your current configuration file.

The second command lets you change your configuration file. Before you do this, you should use the config command above to retrieve a copy of the current file. Once you have a copy (and made a backup copy), you edit the configuration file, and send the new configuration file to the majordomo, prefaced by the command "newconfig listname password" and ending with EOF. It works much the same way as the newinfo command:

newconfig testing-list password
[Configuration file here]
[Configuration file here]
[Configuration file here]

The response will be:

Subject: Majordomo results: newconfig


>>>> newconfig testing-list password
New config for list testing-list accepted.

As soon as you've changed your configuration file, you should make a backup copy with the config command.

The third command lets you go back to a previous configuration file. Thus, if you want to scrap your current configuration file and start over, you can get an entirely new configuration file with the writeconfig command.

If you send majordomo the command "writeconfig listname password," majordomo will delete you current configuration file and replace it with the default configuration file. This will fix any problems your current figuration file has. It will also get rid of any changes you might previously have made in the configuration file, so while it's a good quick shortcut to fix any problems, it's no substitute for having a backup.

The most important configuration commands:

There are a very wide variety of things you can control by changing your configuration file. The generally most important of these are editing the 1/2 line description majordomo displays together with your list's name, changing your subscription policy, changing your moderation policy, and putting restrictions on the information non-subscribers can retrieve about your list from majordomo.

You control all of these things by having lines in your configuration file which say "variable = setting." What the setting is varies with the command; your description can be any fifty characters or so, but many things take only "yes" and "no" as their settings.

The description of your list

To set your description, include:

description = Any 50 or so characters you want majordomo to say.

in a configuration file you send to majordomo. There is no default description.


There are three choices for subscription settings: letting anyone subscribe any email address, letting anyone subscribe their own address but requiring password approval for other addresses, and requiring password approval of all addresses. In respective order, each of these settings may be put in your majordomo file by:

subscribe_policy = auto
subscribe_policy = open
subscribe_policy = closed

The default subscription policy is open.

Moderation (submission) policy

There are two choices for a moderation policy: moderated and unmoderated. If a list is moderated, all postings to it must be approved by password; if not, anyone can post to the list. The settings in the configuration file are:

moderate = yes
moderate = no

The default majordomo setting is unmoderated.

Who can get information about the list

There are several commands which control whether or not people unsubscribed to the list can retrieve types of information about it. You can control whether someone unsubscribed to the list can retrieve the "info" information about it, can see it included in a catalogue of lists an email address is subscribed to, and/or can retrieve the roster of email addresses subscribed to the list. These settings can be set with:

private_info = no
private_info = yes
private_which = no
private_which = yes
private_who = no
private_who = yes

The default setting for all of these command is no, i.e. your list is public.

Customizing how messages look

There are three commands which can automatically add text to messages which go out over the list. Message_footer adds text to the end of the letter. Message_fronter adds at the beginning of the normal text of the letter. Message_headers adds new headers to the headers section of the letters (the part with "From" lines, "To" lines, and so on). All of these work in the same way:

message_footer << END
The lines you want at the end of the text.
message_fronter << END
The lines you want at the beginning of the text.
message_headers << END
X-Header-Name: text of header; must be formatted HeaderName: headertext
X-Header-Name2: you can add multiple headers.

In all three cases, make sure the text you want added is in between the two ENDs. All of these default to blank lines.

It is also possible to add a word to the beginning of a subject line. Since you only add a word (it can include numbers or punctuation as well as letters, simply no spaces or tabs or end-of-lines; like the password, it cannot include a pound sign), it is done more simply:

subject_prefix = one-word

This permits people to quickly see which of their mail is from the list by reading the subject headers. It defaults to nothing.

You can influence where people send their replies to by inserting a "reply-to" line in the messages distributed through majordomo. It works the same way subject_prefix does, with one word added to the end of the line:

reply_to = one-word

If the word you use is $SENDER, the reply_to line in any message distributed by majordomo will have the email address from which the message was sent to majordomo for mailing list distribution. The default is nothing; the reply_to line will be omitted. Most mailers will then reply to the "From" line, which will have the email address from which the message was sent to majordomo for distribution. If you want a discussion list, you might want to set the reply_to to the lists's submission address (e.g., so that a "reply" is received by everyone on the list. If you set a reply-to, make certain the address is typed correctly and is a valid email address, or all replies will fail.

You can also delete some of the "Received" headers from the mail distributed by majordomo. These "Received" headers track which machines received the mail, so that the path it took can be plotted. If you want to, you can delete the "Received" headers up to the time majordomo received it. This will shorten the headers received by the list readers. This works the same way the private_variables do:

purge_received = yes
purge_received = no

The default is no.

Other variables

There are many other variables you can set through the configuration file, and a reference list for them is on the next page. Most listowners will never want to set any variables besides those above; many will never want to set anything besides the list description.

The total configuration file is very powerful, which means you can do a lot with it, but also means a typing error or a misunderstood variable can cause a lot of problems. Therefore, if you do change any other variables, you should be careful to save a copy of your configuration file first and to watch the list carefully for a couple of days afterwards.

Back to top

Your Responsibilities

There is a certain amount of routine work associated with every mailing list. Majordomo is designed to minimize this work, but there is a certain amount of work that must be done by a human being; even if everything goes smoothly, somebody must make certain that majordomo is doing its job. We don't have the personnel to manage every mailing list. Therefore, before we create a mailing list, we require a list owner who agrees to handle this routine work.

By agreeing to become a mailing list owner, you're taking on responsibility to see that your list runs smoothly. We will run majordomo and the listhost machine to give you tools for this, and we will help you out in an emergency. However, you must handle the routine work yourself.

If you have your list set to permit users to subscribe and unsubscribe themselves (subscription_policy=open) and to let messages sent to the list address be distributed to the subscribers without requiring validation (moderated=no), your job should be fairly easy. If you moderate the mailing list, or require subscription approval, things will be somewhat more difficult, but majordomo should keep the administration load as low as possible.

The administration work you will need to do can be split into two parts: the things you will need to do to begin your list, and the things you will need to manage your list once the list is started.

When you start a list, you should read this document carefully, use the newinfo command to set up a description of the list, and add the half-line description of your list to the configuration file. If there are any other important changes you want to make to the configuration file - making the list moderated, for example - you should also make them at this time.

While running your list, you should keep a copy of this document and the majordomo subscriber guide handy.

On a daily basis, you should also read your list administration email and take care of any urgent needs, for example: urgent subscription requests, bounce messages, any unsubscription requests (all unsubscription requests should be thought of as urgent because people tend to become angry if they keep receiving mail from a list much after they requested that the messages stop coming -- and therefore unsubscription requests are an easy problem which can balloon into a bigger problem very easily). On a regular basis, you should take care of any routine work: get a copy of the current subscribers to the list, handle the subscription requests, any requests for basic information about the list, and so on.

These administration tasks should not take up very much of your time unless your list becomes very large. However, they need to be done regularly, or minor problems can become major ones.

Variables in configuration file

Variable name

What the variable controls


password for handling "administrative tasks" on your list


distribute recognizeable administration requests sent to list to list owner instead of list


your list appears with 'lists' command if email address matches. See noadvertise


moderator password for moderated lists


does not work; leave blank (theoretically where archives are stored)


this entry doesn't affect list directly and are kept after a 'writeconfig'


put date-last-updated at the top of the info file instead of at bottom


don't forward messages sent through list, just go through motions


a half-line description included with listname for 'lists' response


does not work; leave blank (theoretically where archives are stored)


number of the next digest list issue


maximum number of days between digests


maximum line-length of digests


with the volume and issue forms, this the subject line for list digest


remove list-added footers (message_footer) for lists digests


remove list-added fronters (message_fronter) for lists digests


the current digest volume number


leave this alone (temporary space for the digest)


maximum length of unapproved message in characters; if used with digest, the maximum length of a digest in characters as well


adds text at end of all email distributed by list


adds text at beginning of ordinary text of all email distributed by list


adds lines to the headers of all email distributed by list


if all distributed messages must be approved by a moderator


if yes, all messages send from are considered as messages from user@one.two; this affects recognition for (un)subscribe requests plus all private_whatever options


if email address matches, your list is not included in the results from the 'lists' command. This overrides advertise, and by default your list is included responses to all 'lists' requests


puts a 'precedence=word' (default bulk) into the header of all messages distributed by the list


requestor must be on mailing list to get files


requestor must be on mailing list to receive index


requestor must be on mailing list to get 'info' information


requestor must be on mailing list to get 'which' information


requestor must be on mailing list to get 'who' information


delete 'received' headers when distributing mail


puts a 'reply_to=word' in the headers of email distributed by the list


if used host name is appended to all address strings for resend


if used only addresses in files mentioned can get messages distributed through mailing list.


envelope/sender address for mail resent by majordomo


strip off all comments and only add basic address to list file


word is put at the beginning of subject of all email distributed by list


if people can subscribe themselves/others without approval

Written by E. Elizabeth Bartley, copyright 1994 by The University of Chicago.
Permission to copy for non-commercial use is granted provided these attributions are retained.