Okay, here's the latest version; comments welcome (and desired). Some
stuff still needs to be covered:
- It would be helpful if I had an understanding of regular expressions
so I could stick some into examples. Can anybody point me at a
- In the 'aux.....' commands, what is the function of the "allmatching"
- Where is the EDITOR environment variable set? I couldn't find it in
my GLOBAL settings. Might be useful to include a word or two about that
in the description for configedit.
- There are still a few commands I need to get a better understanding of
before I add examples. I'm working on this.
Regardless, if this format is agreeable to everyone, I can get to work on
the other files as well.
Would there be any use for an HTML version of the files? Perhaps the
installer could stick 'em into a user-defined directory?
Majordomo2 Administrative Commands
This is a basic overview of the commands and features available for use by
the list owner.
Every command will have at least one required argument, and may have one or
more optional requirements as well. The first required argument is usually
the listname; therefore, most commands will be submitted to the parser in
command list argument(s)
Required arguments will be included in the command names below. Optional
arguments will appear in [brackets]. For a few commands, the first
required argument will be something other than the list name. These should
be clear as you read the command names listed below.
Many commands also have options available to modify their behavior.
Options will appear next to the command names in (parentheses). Commands
with options should be sent in the format:
command-option list argument
Multiple options may be strung together like so:
command-option1-option2-option3 list argument
Examples of the commands that follow will assume an imaginary list named
'scooter-list' using the master password 'vespa'.
approve password command
This runs the given command (and arguments) with the supplied password.
Essentially any command can be executed with privileges using the approve
command. The 'default' command described below can make it much easier
to approve several commands at once.
Most admin commands are of little use without "approve" and the
appropriate password. If an admin command fails, check to make sure
you are approving it correctly.
Example: approve vespa subscribe scooter-list email@example.com
See also: default
auxsubscribe list sublist address [regex] (allmatching)
auxunsubscribe list sublist address [regex] (allmatching)
auxwho list sublist [regex] (allmatching)
Adds/removes address to/from the named sublist of the given list, or
shows the contents of the named sublist.
See also: The 'admin sublists' topic for more information on sublists
configdef list variable
Sets the variable back to the default value. Note that this causes the
variable to track changes in the default value whenever they are made; a
variable can be fixed to the current default value by setting it to that
Example: configdef scooter-list restrict_post
configedit list variable (comments) NOTE: Shell interface only
Retrieves the value of the variable and opens an editor on it. When the
editor is exited, the variable is set to the new value. If the
'comments' argument is used, explanatory information about the variable
will be included in the output.
Multiple variables can be edited by listing them separated by commas, and
groups can be specified with upper case letters. Listing no variable
name at all retrieves the complete list of variables.
The editor to use is chosen from the EDITOR environment variable.
Examples: configedit-comments scooter-list restrict_post
configedit scooter-list restrict_post,access_rules
configset list variable = value
configset list variable
Sets the given variable to the given value. A single value can be
specified directly on the command line after an equals sign, or the
usual '<< TAG' include until tag or '<@ part' include from part
syntaxes can be used. (See the 'parser' help topic for more
information on this.)
The value will be syntax-checked against the allowable values for the
The 'default' command described below can make it much easier to submit
several configset commands at once.
See also: default
The 'parser' help topic
configshow list variable (comments)
Retrieves the value of the given variable. If the 'comments' argument
is given, explanatory information about the variable will be returned
Multiple variables can be retrieved by listing them separated by commas,
and groups can be specified with upper case letters. Listing no variable
name at all retrieves the complete list of variables.
The response is in such a form that it can be fed back to the parser
verbatim. It is essentially a series of configset commands, which may
be edited at will and sent back to the parser.
Note also that only the variables that can be seen by the current
authorization level will be returned. This means that with no
authentication at all, a small list of variables will still be visible
(though of course they cannot be modified).
Finally, note that not all per-list variables can be modified by the list
owner. Some require global priviliges.
Examples: configshow-comments scooter-list
configshow-comments scooter-list restrict_post
configshow scooter-list restrict_post,access_rules
createlist list owner (nocreate, noheader, force, quiet)
Creates the internal structures needed to maintain a list with the given
name. This will also suggest the necessary MTA configuration if the MTA
in use is supported -- for example, if sendmail is the MTA in use, a
set of sendmail aliases will be generated. Note that Majordomo does not
(yet) handle configuring the MTA itself, although it generally provides
data which can simply be pasted into the necessary configuration file.
If the list is 'GLOBAL', the setup for the Majordomo address is given.
If the list is 'ALL, a complete set of aliases is given.
Arguments include the following:
force: If the list already exists, the 'createlist' command will fail
unless the 'force' argument is used. Note that the owner address you
enter when you force the list creation will replace any previous owner
addresses associated with the list.
nocreate: This argument will cause 'createlist' to suggest the MTA
configuration without actually creating the list; the command will not
fail if the list already exists.
noheader: The instructional information that precedes the suggested
MTA configuration info will not be displayed.
quiet: No introductory mail will be sent to the list owner. (This
is not currently implemented in any case.)
Examples: createlist scooter-list firstname.lastname@example.org
createlist-noheader-quiet scooter-list email@example.com
default variable value NOTE: email and text parser only
Sets a default variable for the parser. The variable can be either a
password or a list.
Setting a default password will implicitly do the equivalent of 'approve
password' on all following commands. This makes it especially useful
when returning the output of a 'configshow' command to the parser to
change some variables; simply add the 'default password' command to the
beginning of the message or file, and the parser will accept the
'configset' commands as written.
Setting a default list makes the list an optional argument for all
commands which take one (excepting the createlist command). Note that
this is not without ambiguity, as the parser cannot always tell when
the default list is implied. When running at the -request address, the
parser generally starts with a default list in place.
If the value is omitted, the default setting is removed.
Both of these commands make it much simpler to submit multiple commands
to the parser in one fell swoop. Essentially, it makes all of the
following sets of commands equivalent:
approve vespa configset scooter-list reply_to = firstname.lastname@example.org
approve vespa configset scooter-list resend_host = awenet.com
approve vespa configset scooter-list subject_prefix = [Scooter List]
approve vespa subscribe scooter-list email@example.com
default password vespa
configset scooter-list reply_to = firstname.lastname@example.org
configset scooter-list resend_host = awenet.com
configset scooter-list subject_prefix = [Scooter List]
subscribe scooter-list email@example.com
Or even better:
default password vespa
default list scooter-list
configset reply_to = firstname.lastname@example.org
configset resend_host = awenet.com
configset subject_prefix = [Scooter List]
This updates the filespace information database. Since Majordomo needs
to know more information about a file than is provided by the file system
(a description and the required MIME types, for instance), it keeps
additional data in a simple database. If files are added or removed by
means other than Majordomo commands, the database must be updated with
the new information by way of this command.
Example: filesync scooter-list
Sends a message to the given list. Note that the message must be fully
formed, with all necessary headers. Majordomo will not add omitted
headers, nor does it check the validity of the message. All of the
normal resend access checks apply.
This enables a Majordomo list to be run without doing any MTA
configuration at all. The list will not, however, be terribly
functional. This will probably work for announcement lists, though.
put list file subject (data)
put-data list file content-type charset content-transfer-encoding subject
Uploads a file to the given list's filespace. The file will be assumed
to be text/plain with 8bit encoding.
If the "data" mode is given, the command expects additional data about
the file; these should be legal MIME values for those fields.
Regenerates the canonical forms of addresses in all of list's address
A list keeps three forms of a subscriber's address:
- The full form, including comments. This is what shows in who reports
(unless the user elects to hide parts of his address).
- The stripped form (comments removed). This is what mail is sent to.
- The canonical form. This is the result after various address
transformations have occurred. The transformations are owner-
specified and can do such things as specify that all hosts under a
domain are equivalent, that everything in the user portion of an
address after a plus sign is ignored (so the sendmail mailbox
specifier works) and that case is unimportant.
When the set of transformations is changed, the databases need to be
regenerated with this command so that the canonical forms reflect the
Note that if multiple addresses transform to the same thing under the new
transformation rules, the duplicates may be lost.
See also: the 'config addr_xforms' topic for more information on
who list [regexp]
Returns all members of the list whose addresses match the given regular
expression. The match is done insensitive to case, and the surrounding
'/' delimiters are not required.
William R. Dickson - System Administration email@example.com
Northwest Nexus - Professional Internet Services Bellevue, WA USA
Voice: 425 455-3505 Web: http://www.nwnexus.com/ Info: firstname.lastname@example.org