Majordomo Quick Reference file (for version 1.94.4)
See also http://www.greatcircle.com/majordomo/
Contents:
1. Commands for ordinary users
2. List owner's commands
3. Creating a new list
___________________________________________________________________________
1. MAJORDOMO COMMAND SUMMARY FOR ADVANCED USERS
In the description below items contained in []'s are optional. When
providing the item, do not include the []'s around it. Items in angle
brackets, such as
, are meta-symbols that should be replaced
by appropriate text without the angle brackets.
It understands the following commands:
subscribe []
Subscribe yourself (or if specified) to the named .
unsubscribe []
Unsubscribe yourself (or if specified) from the named .
"unsubscribe *" will remove you (or ) from all lists. This
_may not_ work if you have subscribed using multiple addresses.
get
Get a file related to .
index
Return an index of files you can "get" for .
which []
Find out which lists you (or if specified) are on.
who
Find out who is on the named .
info
Retrieve the general introductory information for the named .
intro
Retrieve the introductory message sent to new users. Non-subscribers
may not be able to retrieve this.
lists
Show the lists served by this Majordomo server.
help
Retrieve this message.
end
Stop processing commands (useful if your mailer adds a signature).
Commands should be sent in the body of an email message to
"Majordomo@domain.org". Multiple commands can be processed provided
each occurs on a separate line.
Commands in the "Subject:" line are NOT processed.
If you have any questions or problems, please contact
"Majordomo-Owner@domain.org".
___________________________________________________________________________
2. The "undocumented" commands for use by list owners are:
approve {subscribe|unsubscribe} []
This is so that you can approve subscription or unsubscription
actions that need approval by the list owner. Note that this
is just a standard "subscribe" or "unsubscribe" command prefixed
with "approve " (where you substitute the password for
your list, which is listed above, for "").
approve who
This allows you to get the list of addresses for your
anonymous list. Without the password, even the list owner can
not see who is on the list.
passwd
This is so you can change the password for your list, if you desire.
newintro
This is so that you can replace the information file that people
get when they do "intro " or "subscribe ". It reads
everything after the "newintro" command to end-of-message or the
word "EOF" on a line by itself as the new intro for the list.
newinfo
This replaces the information file that people get when they do
"info ". (This file is also sent by "subscribe " if
the intro file doesn't exist.) This reads everything after the
"newinfo" command to end-of-message or the word "EOF" on a line
by itself as the new info for the list.
config
Retrieves a self-documenting configuration file for
the list . The can be the password
contained in the file .passwd or the
admin_password in the configuration file.
newconfig
Validates and installs a new configuration file. It reads
everything after the "newconfig" command to end-of-message or
the word "EOF" on a line by itself as the new info for the
list. The config file is expected to be a complete config
file as returned by "config". Incremental changing of the
config file is not yet supported. As soon as the config file
is validated and installed its settings are available for
use. This is useful to remember if you have multiple commands
in your mail message since they will be subject to the
settings of the new config file. If there is an error in the
config file (incorrect value...), the config file will not be
accepted and the error message identifying the problem line(s)
will be returned to the sender. Note that only the error
messages are returned to the sender not the entire config
file, so it would be a good idea to keep a copy of your
outgoing email message.
writeconfig
Write a new config file in standard form. Writeconfig forces a
rewrite of the config file with all default values in place (or
current values if the config file already exists). It is
useful to use after an upgrade of majordomo since it will add
the new keywords for people to change. It also updates the
documentation in the file if that has changed.
mkdigest
mkdigest
Generate a digest immediately without waiting to reach the
maxlength given in the config file. The first form will cause the
digest to be sent to an alias found by appending "-outgoing" to the
digest list name. Because this can be a security concern, the
second form allows specification of the name of the alias that the
outgoing digest will be sent to.
___________________________________________________________________________
3. To create a list:
1) Create an empty file called in $listdir, mode 664; change
owner to majordomo:majordomo.
(This file will contain email addresses of list members, delimited
by a newline.)
2) Create a file called ".info" in $listdir, mode 664, with
the initial introductory info for the list in it.
3) Create the appropriate entries for the list in your Sendmail
aliases file (/etc/aliases or a separate majordomo.aliases file.)
See options at the end of the section.
The aliases entries for a list with archiving but no digest are (use
listname instead of "TEST" and your username for "YOU"):
TEST:"|/usr/lib/majordomo/wrapper resend -l TEST -h www-kiv.zcu.cz TEST-outgoing"
TEST-outgoing: :include:/var/lib/majordomo/lists/TEST,
"| /usr/lib/majordomo/wrapper archive2.pl -a -m
-f /var/lib/majordomo/archives/TEST/TEST.archive"
# archive produces a monthly archive with the -m flag.
owner-TEST: YOU,
owner-TEST-outgoing: owner-TEST
TEST-request: "|/usr/lib/majordomo/wrapper request-answer TEST"
TEST-approval: YOU
4) Copy the template configuration file into ".config" and
make proper changes to create the initial configuration.
5) Create (from a template) a file called ".intro" with the
introductory message sent to a newly subscribed users.
6) Put your address into the file and try if everything works
(namely send, reply, info, unsubscribe, subscribe).
7) Put all initial email addresses into the file. Off we go!
The options for the Sendmail aliases file are:-
a) In a simple case, each list requires several aliases. For an
example list called 'test', these aliases are required:
test The list alias itself
owner-test The owner of the list (who should get bounces)
test-request The address for administrative requests.
test-approval The person who approves postings to the list
(for moderated lists as well as unmoderated ones)
These would look like this:
test: :include:/var/lib/majordomo/lists/test
owner-test: you,
test-request: "|/usr/lib/majordomo/wrapper request-answer test"
test-approval: you
b) It's more likely that the outgoing messages to the list will be
passed through "resend" to catch Majordomo commands, as well as
give other useful features. A typical set of aliases without anything
fancy, such as archiving or digesting, would look like this:
test: "|/usr/lib/majordomo/wrapper resend -l test test-list"
test-list: :include:/var/lib/majordomo/lists/test
owner-test: you,
test-owner: you
test-request: "|/usr/lib/majordomo/wrapper majordomo -l test"
c) Finally, a more complete set of aliases that provides digestification,
archiving, and header manipulation would look like:
test:"|/usr/lib/majordomo/wrapper resend -l test -h www-kiv.zcu.cz test-outgoing"
test-digest:test
# I put the digest and archive programs on the outgoing list so that
# messages bounced by resend don't end up in the digest or archive
# unless I send them through resend explicitly.
test-outgoing: :include:/usr/local/Lists/test,
"| /usr/lib/majordomo/wrapper digest -r -C -l test-digest test-digest-outgoing",
"| /usr/lib/majordomo/wrapper archive2.pl -a -m
-f /usr/local/mail/archive/test/test.archive"
# archive produces a monthly archive with the -m flag.
test-digest-outgoing::include:/usr/local/Lists/test-digest
owner-test:you,
owner-test-outgoing:owner-test
# note that the "-digest" and "-digest-outgoing" suffixes
# are required to allow the majordomo mkdigest command, and the
# config code to work properly.
owner-test-digest:owner-test
owner-test-digest-outgoing:owner-test
test-request: "|/usr/lib/majordomo/wrapper request-answer test"
test-digest-request: "|/usr/lib/majordomo/wrapper request-answer test-digest"
test-approval:you,
test-digest-approval:test-approval
___ EOF ___________________________________________________________________