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 "" will be used to mark places where you need to substitute the name of your list; "" 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 "@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@, where "" 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 @, where is the name of your list (e.g. "gardening"), and 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 @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: -request@ message-- subscribe OR address-- To: majordomo@ message-- subscribe 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: -request@ message-- unsubscribe OR address-- To: majordomo@ message-- unsubscribe 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
" or "approve PASSWORD unsubscribe
"), 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 [
] unsubscribe [
] who info intro index get 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 is called -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 -digest instead of . 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 -digest (by sending to majordomo@ a message consisting of the command "subscribe -digest"), and then, after the subscription has been confirmed and accomplished, unsubscribe from (by sending to majordomo@ a message consisting of the command "unsubscribe "). When a message is posted to the address of the digest-list (i.e. to -digest@), it automatically goes to the address of the "regular" list (i.e. to @), and is handled by Majordomo in the same way as all messages posted directly to . 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 -digest will have its own info file and its own configuration file, which you can change independently of the same files for . The password for -digest is the same as the password for . Majordomo will send a digest automatically to the subscribers of -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 -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 and -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 = (if your list does not have a digest) restrict_post = :-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 ":.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 .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 = .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 .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/.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 produces a Majordomo response which contains the list of archive files currently available. The "get" command, whose syntax is get 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 subscribe
This command can be used to perform subscriptions. Note that this is just a standard "subscribe" command prefixed with "approve ". 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
parameter. approve unsubscribe
This command can be used to perform unsubscriptions. Note that this is just a standard "unsubscribe" command prefixed with "approve ". 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
parameter. approve who 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 index 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 get 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 This allows you to change the password for your list. find This command is available only at Panix. It finds all the addresses containing the string that are subscribed to the list . 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 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 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 " 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 This command permits you to install or replace the list-specific information that people get when they send to Majordomo an "info " 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 Retrieves the configuration file for your list. The file is self-documenting. newconfig 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 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 Retrieves the file ".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 ".extra". newextra This command permits you to install or replace the file ".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 ".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 ".extra" to the value of "restrict_post". newwho 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 -digest 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 -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.