Contents of this document:
General Information
Submitting Messages to Your List
Subscribing and Unsubscribing
Configuring Your List
Regular Expressions
Majordomo Commands Available to Your Subscribers
Digests
Controlling Who Can Post to Your List
Messages Bounced for Approval
Archive
Error Bounces
Attachment Removal
Spam Filtering
Administrative Majordomo Commands
Approving Bounced Messages via Email
===================
General Information
===================
******
Please read this manual completely and save it for future reference.
It contains information you need to effectively manage your mailing list
at Panix. If you have any questions, please send them to mlists@panix.com.
******
NOTE. Throughout this manual, the angle brackets "<>" are used to mark
those elements of various syntax templates for which you need to substitute
specific names that are particular to your list or your setup. For example,
the string "<listname>" will be used to mark places where you need to
substitute the name of your list; "<password>" will mark places where you
need to substitute the password for your list, etc. Thus, for example,
if the manual advises you to use the address "<listname>@lists.panix.com"
and the name of your list is "gardening", the address that you should be using
is "gardening@lists.panix.com" (without the angle brackets).
******
Panix's mailing lists are served by an automated mailing-list manager called
"Majordomo", which is written in a programming language called Perl. The
version of Majordomo that we are currently running is 1.94.3.
Majordomo offers two different administrative interfaces whereby you can
manage your list: an email interface and a web interface called MajorCool.
The email interface accepts and executes commands sent via email to the
specific "Majordomo address" for your list. These commands permit you to
perform administrative actions such as updating your list configuration,
adding or deleting list-members, installing or updating the info file for your
list, etc. Some of these commands are available to list subscribers as well
as to listowners, others are purely administrative commands and require
knowledge of the list password. With the exception of a few administrative
commands which were added at Panix, all of the actions that you could perform
using the email interface can also be performed using the MajorCool web
interface, which is considerably more pleasant, user-friendly and
error-resistant than the email interface.
Note that the MajorCool web interface is available only to listowners. All
other users of the Panix Majordomo - such as your subscribers - have to make
use of the email interface, i.e. request the desired Majordomo actions by
sending certain commands (such as "subscribe" or "unsubscribe") to the
"Majordomo address" for your list. More details about the commands available
to your subscribers will be given below.
The Majordomo address for your list is majordomo@<domain>, where
"<domain>" is the full name of the registered domain at which your list
formally resides. For example, if the domain where your list resides is
"example.com", the Majordomo address for the list would be
majordomo@example.com. If you do not have a registered domain, the Majordomo
address is majordomo@lists.panix.com.
The URL for the MajorCool web interface is
http://lists.panix.com
MajorCool has an extensive "Help" facility, and there is no need to explain
this interface further in the present document. However, this document
contains much other information that you need to be be aware of, so please
continue reading it and hold on to it. If you have any questions, please send
them to mlists@panix.com.
Your listowner password is required for most of the administrative tasks,
irrespective of whether you are using the email interface or MajorCool.
Please keep track of it. If you have forgotten your password, please write to
mlists@panix.com. If you ever wish to change your password, you can do so
by using either the MajorCool interface or the "passwd" command via email
(see below).
There are two information files that you can create for your list: "info" and
"intro". The "info" file is intended for general information about the nature
and purpose of your list. It is the text that gets sent by majordomo in
response to the "info" command (see below), and is the standard way for
potential subscribers to get information that will help them decide whether
the list is in fact of interest to them. If there is no "info" file for
the list, the "info" command will return an empty message.
The "intro" file is intended to as a "Welcome to the list" message for new
subscribers. The information provided in it may overlap with what is
contained in the "info" file, but the "intro" file is also the place for
information that people need only once they are subscribed to the list -
such as the posting address for the list, the list etiquette, etc.
If you have created an intro file, this file is sent to new subscribers as
part of the "Welcome to the list" message; it can also be retrieved by sending
to majordomo the "intro" command (see below). If you have not created an
"intro" file, but have created an "info" file, it is the "info" file that
will be sent in the "Welcome to the list" message, and the "intro" command
will return an empty message. If you see no need to distinguish between the
information you provide for subscribers and for potential subscribers, you
should only create an "info" file, since it is the "info" command that is
historically the way potential subscribers expect to get information about
the list. Please create an "info" and (if you wish) an "intro" file
for your list as soon as possible. You can create either of these files
by using MajorCool, or by using the "newinfo" and "newintro" commands via
email (see below).
To see who is subscribed to the list, use either the MajorCool interface
or the "who" command via email (see below). If you are not already
subscribed to the list, you can subscribe yourself either from the
MajorCool interface or by using the "subscribe" command (see below).
================================
Submitting Messages to Your List
================================
The posting address for your list is <listname>@<domain>, where <listname> is
the name of your list (e.g. "gardening"), and <domain> is the full name
of the registered domain at which your list formally resides (e.g.
"example.com"). If you do not have a registered domain, the address of the
list is <listname>@lists.panix.com (e.g. "gardening@lists.panix.com").
To submit a message to the list, you (or anybody else) should simply mail
it to the list's posting address.
=============================
Subscribing and Unsubscribing
=============================
To be added to your list, a user simply sends a subscription request to
Majordomo. There are two ways to do it:
address-- To: <listname>-request@<domain>
message-- subscribe
OR
address-- To: majordomo@<domain>
message-- subscribe <listname>
By default, all subscriptions to lists hosted by Panix require subscription
confirmation. This means that after the user has sent a "subscribe" request
to one of the above addresses, he/she will receive from Majordomo a request
for confirmation. The purpose of this is to eliminate the possibility of
forged subscriptions, where unsuspecting victims are maliciously subscribed
to lists by third parties. The confirmation-request that the user gets from
Majordomo contains complete instructions on how the user should reply in order
to actually complete the subscription process.
When the subscription is successfully completed, Majordomo automatically sends
to the subscriber a "Welcome to the list" message. This message consists
of two parts. The first part is hard-coded into the Majordomo code, and
contains very general instructions for unsubscribing from the list and for
contacting the listowner in case of trouble. This part cannot be changed.
The second part contains whatever text you have put into the "intro" file
for your list, or, if you have decided to not create an "intro" file, then
whatever you have put into the "info" file for your list (you can create these
files by using either MajorCool or the "newintro" and "newinfo" commands,
described below). We recommend that, at the least, the information that your
new subscribers get should contain instructions on how to post to the list
(i.e. what address to send list messages to) and, if your list has a digest
option, how to switch to the digest list (this is explained below).
In order to be removed from your list, a user sends an unsubscription
request to Majordomo. There are two ways to do it:
address-- To: <listname>-request@<domain>
message-- unsubscribe
OR
address-- To: majordomo@<domain>
message-- unsubscribe <listname>
If your list has been configured with the "subscribe_policy" parameter set to
"closed", then then you will have to approve all subscription requests.
In this case you will receive an approval request from Majordomo every time
somebody attempts to subscribe to your list. But even if your
"subscribe_policy" is configured to be "open", Majordomo may still send you
an occasional request to approve a subscription or an unsubscription.
This will happen in cases where the email address from which the user is
mailing the subscribe/unsubscribe request is different from the address
which he/she is trying to subscribe or unsubscribe.
The requests for approval that you will get from Majordomo will start with
the word "APPROVE" in the "Subject:" line. The message will contain
a template (in the form "approve PASSWORD subscribe <listname> <address>"
or "approve PASSWORD unsubscribe <listname> <address>"), of the
approval message that you need to send back to Majordomo if you concur with
the request. All you will need to do (if the requests looks legitimate to you)
is to replace "PASSWORD" in the template with your list password, and send the
template line back to Majordomo.
Of course, you can use the "approve PASSWORD subscribe..." and "approve
PASSWORD unsubscribe..." commands at any time, not just in response to approval
requests from Majordomo. Thus, you can subscribe or unsubscribe people from
your list without them having to send anything to Majordomo. You can also do
the same by using the MajorCool interface.
=====================
Configuring Your List
=====================
Every Majordomo list has a configuration file which controls various aspects
of the list's functioning - for example, who can post to the list, who can
see the subscriber list, which posts should be sent to you for approval,
when digests should be sent out, what the maximum length of a message can be,
whether there should be a "Subject" prefix that uniquely identifies posts
received from the list.
The configuration file is meant to be self-documenting. You should examine
the configuration file for your list, and make sure that all the parameters
are set the way you want them. The easiest way to examine the file and make
any changes you want is by using the MajorCool web interface. If you wish to
use the email interface, the way to retrieve the current configuration file
is by using the "config" command (see below). Then, once you have
completed all of the changes to the config file, you should use the
"newconfig" command (described below) to replace the old configuration file
with the updated one.
******
NOTE!!! If you use the email interface to update your configuration file,
you must make sure that the software you use to make changes to the file
DOES NOT AUTOMATICALLY BREAK UP LONG LINES, and also that your mail client
does not automatically append to your messages any extraneous text (as, for
example, is the case with the free mailers at Hotmail and Yahoo). Otherwise,
your new configuration file will be rejected.
******
If you have a digest version of your list, you should also examine the
configuration file for the digest list (more on that below).
===================
Regular Expressions
===================
For some of the configuration options, such as "taboo_header" and "taboo_body",
a rudimentary knowledge of Perl-style regular expressions will help you run
Majordomo through its tricks. A regular expression is a concise way of
specifying a text pattern by using a combination of special characters. The
full power of regular expressions can make some difficult tasks quite easy,
but we will only brush the surface here.
The character / is used to mark the beginning and end of a regular
expression. Within a regular expression, letters and numbers simply stand for
themselves, but many of the other characters have special meanings. Some
commonly used ones are:
. any character
* previous character, zero or more times; note especially...
.* any character, zero or more times
+ previous character, one or more times; so for example...
a+ letter "a", one or more times
\ next character stands for itself; so for example...
\. literally a period, not meaning "any character"
^ beginning of the string; so for example...
^a a string beginning with letter "a"
$ end of the string; so for example...
a$ a string ending with letter "a"
\@ the `@', found in nearly all addresses, has a special meaning in Perl,
and, inside a regular expression, must always be preceded by a
backslash to avoid errors.
Example 1.
/cs\.umb\.edu/
Notice the periods are preceded by a backslash to make them be
literally periods. This matches any string containing cs.umb.edu
such as:
cs.umb.edu
foo.cs.umb.edu
user@foo.cs.umb.edu
users%foo.cs.umb.edu@greatcircle.com
Example 2.
/rouilj\@.*cs\.umb\.edu/
The `@' has special meaning in later versions of perl and must be prefixed
with a backslash to avoid errors. The string ".*" means "any character,
zero or more times". So this matches:
rouilj@cs.umb.edu
rouilj@terminus.cs.umb.edu
arouilj@terminus.cs.umb.edu@greatcircle.com
but it doesn't match
rouilj@umb.edu
brent@cs.umb.edu
Example 3.
/^rouilj\@.*cs\.umb\.edu$/
This is similar to Example 2, and matches the same first two strings:
rouilj@cs.umb.edu
rouilj@terminus.cs.umb.edu
but it doesn't match
arouilj@terminus.cs.umb.edu@greatcircle.com
because the regular expression says the string has to begin with the
letter "r" and end with letter "u" (by virtue of the ^ and $ symbols), and
neither of those is true for arouilj@terminus.cs.umb.edu@greatcircle.com.
Example 4.
/.*/
This is the regular expression that matches anything.
Example 5.
/.\*rouilj/
Here the * is preceded by a \, so it refers literally to an asterisk, and not
the symbolic meaning "zero or more times". The . still has its symbolic
meaning of "any one character", so the pattern would match, for example, the
strings
a*rouilj
s*rouilj
but would not match
*rouilj
because that string does not have any character preceding the asterisks.
Example 6.
Putting the letter "i" after the pattern specification makes the matching
case-insensitive (otherwise it is case-sensitive). For example,
/aol\.com/i
would match aol.com, AOL.com, AoL.cOm, etc. Without the `i':
/aol\.com/
it would match aol.com but not AOL.com or any other capitalization.
To be on the safe side, put a \ in front of any characters in the
regular expressions that are not numbers or letters. In order to use
a / in the actual regular expression, apply the same rule: precede it
with a \. Thus, with \ in front of the / and = characters, this
/\/CO\=US/
matches /CO=US and may be a useful regular expression if you need to blacklist
any X.400 addresses that contain / characters.
================================================
Majordomo Commands Available to Your Subscribers
================================================
The MajorCool interface is available exclusively to listowners, for performing
administrative tasks that require the knowledge of the list password. If
your list subscribers need to interact with Majordomo, they have to use the
email interface - i.e., they have to send a message to the specific "Majordomo
address" for your list, and the body of the message has to
contain the command(s) that they would like executed. A detailed explanation
of the commands which are available to the general public can be obtained by
sending to the Majordomo address for your list the message "help" (i.e. a
message whose body consists of the word "help", without the quotes). Here is
a list of these commands (the parameters enclosed in square brackets, "[]", are
optional):
subscribe <list> [<address>]
unsubscribe <list> [<address>]
who <list>
info <list>
intro <list>
index <list>
get <list>
help
end
=======
Digests
=======
You may have requested that your list should offer a digest option. This
means that a subscriber to your digest, instead of receiving each individual
message as it is sent to the "regular" list, will instead receive the messages
in batches.
Majordomo implements the digest option as a separate mailing list.
The digest list for the list <listname> is called <listname>-digest. (For
example, the digest for a list called "gardening" will be called
"gardening-digest"). Someone who wants to receive messages in batches,
rather than individually, should subscribe to <listname>-digest instead of
<listname>. There is nothing to prevent a person from being subscribed to
both lists, though it is unlikely many would want to do that. To change
from receiving individual messages to receiving batches of messages,
a subscriber needs to subscribe to <listname>-digest (by sending to
majordomo@<domain> a message consisting of the command "subscribe
<listname>-digest"), and then, after the subscription has been confirmed and
accomplished, unsubscribe from <listname> (by sending to majordomo@<domain>
a message consisting of the command "unsubscribe <listname>").
When a message is posted to the address of the digest-list (i.e. to
<listname>-digest@<domain>), it automatically goes to the address of the
"regular" list (i.e. to <listname>@<domain>), and is handled by Majordomo in
the same way as all messages posted directly to <listname>. This means that
digest subscribers can reply to messages using the "Reply" function of their
mail client, just like subscribers to the "regular" list.
Remember that <listname>-digest will have its own info file and its own
configuration file, which you can change independently of the same files
for <listname>. The password for <listname>-digest is the same as the password
for <listname>.
Majordomo will send a digest automatically to the subscribers of
<listname>-digest whenever the total size of the accumulated not-yet-undigested
messages exceeds the value of the max_length parameter in the configuration
file for the digest list. The default max_length is 40 K. Thus the interval
between digests can vary, but they will be of a predictable size. If your
list doesn't have much traffic, you may want to make the max_length
parameter for the digest list appropriately smaller.
You can, at any time, tell Majordomo to make a digest (i.e. to gather together
the as-yet-undigested messages and send them out to the subscribers of
<listname>-digest). The way to do this is either by using the MajorCool
interface, or via email, by using the "mkdigest" command (see below).
It is also possible to have digests sent out once a day, but this requires
a manual setup by Panix staff. If the traffic on your list is very
unpredictable and you find it impossible to find a satisfactory setting
for the max_length parameter for your digest list, please contact
mlists@panix.com and we will set up a daily job for your list that will
automatically send out digests once a day.
=====================================
Controlling Who Can Post to Your List
=====================================
You can use certain parameters in the list configuration to control who can
post to your list. The two parameters that are relevant here are
"restrict_post" and "moderate". Between them, they permit basically four
levels of post restriction:
- Open list: All posts sent to the list address, irrespective of the
address of the sender, are automatically distributed to the subscribers.
- Member-restricted list: Only posts sent from addresses subscribed to either
<listname> and <listname>-digest, and perhaps some designated additional
addresses, are distributed directly to the subscribers. Posts from all
other addresses are bounced to the listowner for approval.
- Moderator-restricted list: Only posts sent from certain "privileged"
addresses are distributed directly to the subscribers. Posts from all
other addresses are bounced to the listowner for approval.
- Moderated list: All posts are bounced to the listowner for approval.
For the first three levels (unmoderated lists with various degrees of posting
restrictions), the "moderate" parameter in the list configuration should be
set to "no". For the last level (moderated list), the "moderate" parameter
should be set to "yes".
To configure your list as an open list, leave the "restrict_post" parameter
blank.
To configure your list as a member-restricted list, set the "restrict_post"
parameter as follows:
restrict_post = <listname> (if your list does not have a digest)
restrict_post = <listname>:<listname>-digest (if your list has a digest)
For example, if your list is called "gardening", and has a digest,
restrict_post should be set as follows:
restrict_post = gardening:gardening-digest
Sometimes you may want to allow some additional addresses to be able to post
to the list. This may be the case if some of the subscribed list members
have multiple email addresses from which they occasionally post, but do not
wish to subscribe all of those addresses to the list so as not to receive
multiple copies of the list messages. To enable such additional addresses
to post, use the "extra" and "newextra" Majordomo commands (see below) to
upload to the listserver a file containing these addresses, and append
":<listname>.extra" to the value to which you have set the "restrict_post"
parameter. Thus, in the above example, the setting of "restrict_post" would
be:
restrict_post = gardening:gardening-digest:gardening.extra
and for a list "math-teachers" that does not have a digest, it would be:
restrict_post = math-teachers:math-teachers.extra
Make sure that you create the <listname>.extra file on the listserver (using the
"newextra" command) before you add its name to the value of "restrict_post".
If you have any trouble with this, please ask mlists@panix.com for help.
The same "restrict_post" mechanism can be used to configure a
moderator-restricted list. The basic principle is that the list of addresses
that are permitted to post to the list is put into a file on the listserver,
and the "restrict_post" parameter is set to be equal to the name of that file.
If you want to configure your list as moderator-restricted, you can do it in
one of two ways:
1. Use the "extra" and "newextra" commands to upload the list of addresses
that are permitted to post, and set "restrict_post" as follows:
restrict_post = <listname>.extra
or
2. Write to mlists@panix.com and ask us to perform the setup for you.
=============================
Messages Bounced for Approval
=============================
If you run a moderated list, all messages posted to your list will be bounced
to you for approval. But even if your list is not moderated, certain messages
may still be bounced to you. Here are some of the possible reasons for such
bounces:
- The list is member-restricted or moderator-restricted and the sender of
the messages is not on the list of addresses permitted to post to the list.
- The message appears to be an administrative request that got mistakenly
sent to the list rather than to the Majordomo address. This happens
when the first 10 lines of the message contain some word that Majordomo
judges to be an administrative command, such as "subscribe", "unsub",
or "remove". You can stop Majordomo from bouncing such messages by
setting the "administrivia" parameter in the list configuration to "no".
- The size of the message exceeds the value of the max_length parameter in
the list configuration.
- The message contains a string that is listed as "taboo" in the list
configuration.
******
Note that these bounces are not the same as the error messages that will be
returned to you by various mail servers when addresses on your list are
unreachable. Those, too, are generally referred to as bounces; but they
are error-bounces from the mail system rather than approval-bounces from
Majordomo. Error bounces happen in the process of distributing a message to
your subscribers; approval bounces happen before the message is actually sent
out for distribution to the subscribers, and unless you approve the given
message, no distribution will occur.
******
Each approval bounce that Majordomo forwards to you will be packaged inside
a message whose subject line begins with the word "BOUNCE". The subject line
will also indicate the name of the list the message was bounced from (which is
helpful if you manage more than one list) and the reason the message was
bounced - which is usually, though not always, one of the reasons listed above.
If you decide that the message is OK and should be distributed to the list,
you will need to approve it. There are two ways of doing so: via email,
or via the MajorCool web interface. The first method will be explained
later in this document. The second method is far easier and far
more reliable, and we strongly recommend it. In order to be able to use the
second method, you should set the "bounce_action" parameter in the list
configuration either to "mail+store" or to "store". The "mail+store" setting
will cause Majordomo to both bounce the entire message to you via email, and
put it on the Approval Queue that you can access via MajorCool. If you use
the "store" setting, you will not receive the entire message via email, but
you will receive a notification that a new bounced message is waiting for
your approval on the Approval Queue.
=======
Archive
=======
Archiving for your list, if you desire it, has to be set up by Panix staff.
If you have requested it at list creation, then your list is already being
archived; if you should want to add archiving at some later time, please send
a request to mlists@panix.com.
The archive contains copies of all the mail distributed to your list. It
consists of individual files in Unix mailbox format, each file containing one
month's worth of posts. The files are named using the scheme <listname>.YYMM
(e.g. gardening.0304 would be the April 2003 archive file for the list called
"gardening"). These files originally reside on the listserver, but are
moved once a month to either a subdirectory (mlists/<listname>.archive) of your
Panix home directory, or to some other directory which you might have specified
at the time when the list was first created. During each move of the archive
files, the files for the current month and for the previous month are left on
the listserver - in other words, the file that gets moved is always the one
from two months ago. We do this so as to enable your subscribers to access
the more recent archive files using the Majordomo "index" and "get" commands
(see below) - which they can only do for files that reside on the same machine
on which Majordomo runs.
If you want to put the archives on your web page, you may want to make use
of a mail-to-HTML conversion program such as MHonArc. For further information
about MHonArc, see http://www.panix.com/help/mlists/mlists.html.
While the archive files still reside on the listserver machine, your
subscribers can use the Majordomo "index" and "get" commands to access them.
The "index" command, whose syntax is
index <listname>
produces a Majordomo response which contains the list of archive files
currently available. The "get" command, whose syntax is
get <listname> <filename>
produces a Majordomo response which contains the specified archive file.
The configuration parameters "index_access" and "get_access" allow you to
control who has access to the list's archives. By default, access is
restricted to members of the list; but you can, instead, allow it to be open
to everybody, or restrict it to the listowner only.
=============
Error Bounces
=============
When a list message cannot be delivered to one of the subscribers, an
"Undeliverable message" error bounce is generated, which typically goes to the
listowner. (In rare cases, error bounces go to the sender of the faulting
message or to the list address.) The cause of the error may be temporary
(e.g. a temporary hardware or software failure at the recipient's ISP, or
a quota violation) or permanent (e.g. the closing of the recipient's account).
If you get consistent error bounces from the same address over the period of
a few days, it suggests that the failure is permanent. In that case, it is
your obligation, as listowner, to unsubscribe the faulting address from the
list, since its continued presence on the list imposes an unnecessary burden
on all the mail systems involved in the attempted deliveries of the list
messages to the faulting address and and in the deliveries of the error bounces
to you.
Sometimes it is not obvious which address to unsubscribe, since the error
bounce may be a result of mail being forwarded between different addresses.
Usually it is possible to figure it out by a careful examination of the
contents of the bounce. If you find that you need help tracking down any
faulting subscribers, please write to mlists@panix.com.
==================
Attachment Removal
==================
If you do not want to allow attachments in messages distributed to your list,
we offer the option of stripping attachments from these messages before
the messages are distributed to the list members. The main advantage of
attachment-stripping is that it will protect your list from viruses coming
from infected computers of list-subscribers. Also, Majordomo does not handle
attachments properly when it forms digests, and all attachments (including
HTML attachments) look like a complete mess in the digest.
We actually offer two alternative programs that perform attachment-stripping.
One is called "demime" and the other "stripmime.pl". They both take as input
a single email message and produce, as output, an email message that is
either identical to the input message or is a modification of the input message,
as follows:
- If the input message is in plain text and has no attachments, it is just
passed through with no modifications.
- If the input message has a plain-text section followed by attachments,
the plain-text section is passed through unchanged.
- If the input message does not have a plain-text section but has an HTML
section, the HTML is transformed into plain text.
The transformation of HTML into plain text is different depending on which
of the two programs you use: "stripmime.pl" simply removes all HTML tags
and keeps whatever text is left after the tags have been removed.
"demime", on the other hand, actually attempts to interpret the HTML,
much as a text-only browser (such as lynx) would.
- If the input message has a base-64 attachment, "demime" attempts to
interpret it - i.e. translate it into plain text. "stripmime.pl" just
removes the attachment.
- All other attachments are removed.
Both programs are installed on the user hosts, so if you'd like to test them
out, feel free to do so. "demime" has many command-line options and has an
extensive man page. "stripmime.pl", on the other hand, is very simple and
does not even have a man page. It accepts as input a mail message via STDIN,
and outputs the stripped version of that message to STDOUT.
The advantage of "demime" is that it does more, and the output is more
pleasing. The advantage of "stripmime.pl", on the other hand, is its
simplicity. It is less likely to have exotic bugs, and if you don't like
something about it, chances are we can fix it quite easily.
If you would like to install either of those programs for your Majordomo list,
please send email to mlists@panix.com. In this email, please tell us which
of the two programs you would like to use for your list. Note that this is
not something you can install yourself, since it requires a modification to
the aliases file on the listserver.
==============
Spam Filtering
==============
If you are running a list on which posting is restricted to members or to some
other set of specific addresses, then all spam messages will be bounced to you
for approval, since they will come from addresses outside your restricted set.
However, if for some reason you need to run an open list, or if the number
of spam bounces you are receiving is intolerable, we can install spam filtering
for your list. The filter will use SpamAssassin to get rid of most spam
before the messages are processed by Majordomo. If you have a need for this
feature, please contact mlists@panix.com and we will install it for you.
=================================
Administrative Majordomo Commands
=================================
Below is a list of list-administration commands that Majordomo accepts via
its email interface. Most of the effects achieved by using these commands
can be achieved, instead, by using the MajorCool web interface at
http://lists.panix.com. All of them require the list password.
******
NOTE. In the syntax-templates below, the angle brackets "<>" are used to distinguish
between the variable elements of each command (such as the list name, the
password, the address being subscribed, etc.) and the invariant elements such
as the name of the command. Please do not use the angle brackets in the
commands you actually send to majordomo.
******
NOTE. When you use the email interface to Majordomo, make sure that you are
sending your commands using a mail client that does not append to your message
any advertising or any other extraneous information (as, for example, hotmail
and yahoo do). Otherwise, Majordomo may not be able to interpret you message
correctly, and the results may not be what you intended.
******
The administrative commands for use by list owners are:
approve <passwd> subscribe <listname> <address>
This command can be used to perform subscriptions. Note that this is
just a standard "subscribe" command prefixed with "approve <password>".
If the address you want to subscribe is your own (i.e. is the address
that will appear in the "From:" header of your mail to majordomo), you
can omit the <address> parameter.
approve <passwd> unsubscribe <listname> <address>
This command can be used to perform unsubscriptions. Note that this
is just a standard "unsubscribe" command prefixed with
"approve <password>". If the address you want to unsubscribe is your
own (i.e. is the address that will appear in the "From:" header of
your mail to majordomo), you can omit the <address> parameter.
approve <passwd> who <listname>
This allows you to get the current list of subscribers irrespective of
the setting of the "who_access" parameter in the list configuration.
If the parameter is set to "closed", the non-passworded version of the
"who" command will not work.
approve <passwd> index <listname>
This allows you to get the list of files in the list's archive
irrespective of the setting of the "index_access" parameter in the list
configuration. If the parameter is set to "closed", the
non-passworded version of the "index" command will not work.
approve <passwd> get <listname> <file>
This allows you to get the specified file from the list's archive
irrespective of the setting of the "get_access" parameter in the list
configuration. If the parameter is set to "closed", the
non-passworded version of the "get" command will not work.
passwd <listname> <old_passwd> <new_passwd>
This allows you to change the password for your list.
find <string> <listname> <passwd>
This command is available only at Panix. It finds all the addresses
containing the string <string> that are subscribed to the list
<listname> It may help you, for example, to find the exact address
under which someone is subbed, if they have difficulties unsubbing
(because they are trying to do so from a slightly different address).
This command is a Panix replacement for the standard Majordomo "which"
command, which is expensive, wasteful, and bad for security.
massunsubscribe <listname> <passwd>
This command is available only at Panix. It should be used for
unsubscribing multiple addresses from the specified list.
The addresses to be unsubbed should be specified, one address per
line, underneath the line containing the "massunsubscribe" command
itself. It is good to use this command, instead of multiple
"unsubscribe" commands, whenever you have more than one address
that you want to unsubscribe from the same list - it is less
resource-consuming and much less error-prone.
newintro <listname> <password>
This command permits you to install or replace the list-specific
information that people get when they subscribe to your list or
when they send to Majordomo an "intro <listname>" command. Majordomo
reads everything after the "newintro" command (which needs to be on a
line by itself) to the end of the message, or to the word "EOF" on a
line by itself, as the new desired contents of the intro file for the
list.
newinfo <listname> <password>
This command permits you to install or replace the list-specific
information that people get when they send to Majordomo an
"info <listname>" command (or when they subscribe to your list and there
is no "intro" file for your list). Majordomo reads everything after
the "newinfo" command (which needs to be on a line by itself) to the
end of the message, or to the word "EOF" on a line by itself, as the
new desired contents of the info file for the list.
config <listname> <password>
Retrieves the configuration file for your list. The file is
self-documenting.
newconfig <listname> <password>
Validates and installs a new configuration file. Majordomo reads
everything after the "newconfig" command (which needs to be on a line
by itself) to the end of the message, or to the word "EOF" on a line
by itself, as the new configuration for the list. The input that
you send is expected to be a complete and valid configuration file,
replacing the file that was previously returned by "config".
Make sure that whatever program you use to make your changes to the
configuration file does not do automatic line-wrapping. If the lines
get broken up, the result will no longer be a valid configuration file.
As soon as the new configuration file is validated and installed, its
settings are available for use. If there is an error in the
config file you send, the config file will not be accepted, and
Majordomo will send you an error message identifying the problem
line(s). Note that only the error lines, and not the entire config
file, will be returned to you, so it is a good idea to keep a copy of
your outgoing "newconfig" email message until your new file has been
accepted and installed.
writeconfig <listname> <password>
Writes a new config file in standard form. Every Panix-hosted
list gets a config file when it is created. When Majordomo is
upgraded, the upgrade may permit additional config parameters not
supported in the previous version. However, the existing config files
do not get automatically replaced with new ones that contain these new
parameters. Running the "writeconfig" command will cause an upgrade
to the config file so as to synchronize it with the current version
of majordomo. The old file will be replaced by a new file that
preserves all the settings of the old parameters and adds the new ones
using the standard default values for them. The documentation inside
the file will also be preserved or updated as appropriate.
If for any reason the list does not currently have a config
file, the "writeconfig" command creates a new config file
using the standard Majordomo defaults.
extra <listname> <password>
Retrieves the file "<listname>.extra" of extra addresses (besides the
addresses of your subscribers) who can post to your list if the
"restrict_post" parameter in your list configuration includes
"<listname>.extra".
newextra <listname> <password>
This command permits you to install or replace the file
"<listname>.extra" of additional addresses (other than the addresses of
your subscribers) that are permitted to post to your list if the
"restrict_post" parameter in your list configuration includes
"<listname>.extra". Majordomo reads everything after the "newextra"
command (which needs to be on a line by itself) to the end of the
message, or to the word "EOF" on a line by itself, as the new desired
contents of the "extra" file for the list. Please make sure that you
create the "extra" file (using this command) before you add
"<listname>.extra" to the value of "restrict_post".
newwho <listname> <password>
This command replaces the current subscription list with a new
subscription list that you provide, without triggering the sending
of the "Welcome" message to any of the subscribers. The "newwho"
command should be in the first line of the message, followed by a list
of the addresses (one address per line) that you would like in the new
subscription file. Note that the "newwho" command does not _add_
addresses - the entire subscription list will get _replaced_ by the new
list you provide. Probably the only time you will want to use it is
right after your list is first established at Panix, if you already
have a pre-existing set of subscribers that you would like installed.
NOTE. Please make sure that the list you give to majordomo is in
text-only format and does not use any special control characters.
If you use a word-processor to edit the list, make sure that the final
output that you send to Majordomo has been converted to text-only
format. Otherwise, a lot of the addresses will contain extraneous
characters that will make them invalid. If you do not have the
ability to create a text-only address list, please ask the Panix staff
(at mlists@panix.com) to help you with installing the list, and do not
use the "newwho" command.
mkdigest <listname>-digest <password>
Generates a digest immediately, without waiting to reach the
maxlength given in the config file. The digest is generated from
whatever messages were accumulated since the last digest was sent out,
and gets sent to the subscribers of the list <listname>-digest.
====================================
Approving Bounced Messages via Email
====================================
By far the easiest and most foolproof way of approving a message that was
bounced by Majordomo is to use the "Approval Queue" interface in MajorCool.
For completeness of this document, however, we also include an explanation of
how to approve bounced messages via email.
To approve a message via email, follow these directions _exactly_:
1) Save the original message (the body of the message you received
from Majordomo) in a file. The portion you need will consist of
the headers of the original message, followed by a single blank
line, followed by the text of the original message. You do not
need to include any of the headers of the Majordomo message which
contained the original message. Here's a quick example:
From: majordomo@list.server |
To: your-list-approval@list.server | Don't want these headers
Subject: BOUNCE: taboo_header found |
- Blank line
>From list-member@her.site date |
Received: some long routing info | Headers of original message;
From: list-member@her.site | You want these. It's OK if you
To: your-list@list.server | don't have the first line.
Subject: Just a message |
- Blank line, you _must_ have this!
Hello. I'm just writing to |
consume some bandwidth and | Message body; include all of
take up space in your mail | this.
spool! |
Basically you want everything after (and not including) the first
blank line of the full message you received from Majordomo.
2) Edit the file to insert a line that says "Approved: password" (where
"password" is the password for your list) at the top, before the
original message, with absolutely no intervening space. Note the
capitalization of the word "Approved", the colon after it, and the
space after the colon:
Approved: sekrit
>From list-member@her.site date
Received: some long routing info
From: list-member@her.site
To: your-list@list.server
Subject: Just a message
Hello. I'm just writing to
consume some bandwidth and
take up space in your mail
spool!
3) Send this edited file back to the posting address for your list (NOT
to Majordomo). You should make sure that your mailer doesn't try
to do anything like include your prepared mail as an attachment,
encode it somehow, indent every line, or add anything extra to the
beginning or end of the message. There are mailers that will do
pretty horrible things to messages before they are sent; you should
take care that you aren't using one - or, if you are, that you have it
configured to pass your text on unadulterated.
This time around, Majordomo will notice the "Approved:" line and check it
against your list password. If it matches, Majordomo will strip off the
header of your message and the "Approved:" line (leaving just the original
message), and send the original message on through.
Even your own messages may be bounced to you for approval. To send out your
own message without server checks (perhaps you know it contains something
the list server will complain about) you can pre-approve the message in one of
two ways:
If you're using a mailer that can add additional headers, add one like the
following:
Approved: sekrit
Its precise location within the headers is not important.
If your mailer does not allow you to add additional headers, you can add
the line:
Approved: sekrit
as the first line of the message, followed by a blank line (which is
required for your message to be sent properly) followed by the text of your
message. The Approved: line and one following blank line will be deleted
and the message will be passed without being checked. The blank line is
important because it is used to differentiate between a pre-approval and the
approval of a bounced message, outlined above.