This is one of a set of three documents for the various people involved in running and using a mailing list. For the members of mailing lists (the subscribers), we have the Mailman 2.1 Members Manual which covers things like subscribing and unsubscribing. For the people who install and set up Mailman, we will eventually have the Mailman 2.1 Site Administration Manual, which has not yet been written.
This document covers the people who run mailing lists: the list administrators (who can change all the list options, as well as authorize postings that have been held for moderation), and the list moderators (who cannot modify list settings).
This document does not need to be read in order, so if you just want an answer to a specific question, jump to the appropriate place and references to other sections will be provided when necessary or potentially helpful.
The bulk of this document has been written by Terri Oda. Terri used to get a lot of spam, so she did research into neat evolutionary anti-spam solutions. And then she thought it would be nice if her grandfather could use the web without worrying about bad stuff getting into his computer, so she started doing web security. All of this is a roundabout way of saying that her day job is as a security researcher, and she actually doesn't consider herself a document writer, but she was tired of Mailman not having documentation so she figured it was time to do something about it.
The original site admin docs were written by Barry Warsaw. Thanks also go to the rest of the Mailman team who provided the inline help upon which much of this documentation is based.
This document is now stored in the Mailman wiki http://wiki.list.org, and may be edited and added to by members of the Mailman community. Please see the wiki changelogs for more information.
The most commonly used interface of Mailman is the web interface. Almost all the options can be set from this interface, and it also provides inline help and descriptions of each option. More importantly, the day-to-day tasks of running a mailing list are handed through this interface.
Assuming a fairly standard configuration, the configuration interface has a URL like this:
And the moderation interface has a very similar URL as follows:
The web domain (WEBSERVER) can't be set from the web, since it's a bit too easy to render your web interface unusable by making a typo. As such, this setting is usually changed from the command line. The fix_url script is provided for this purpose. It is used in conjuction with withlist as follows:
bin/withlist -l -r fix_url listname [options]
In many cases, this is the only interface a list administrator will use, and may be the only interface the list administrator has permissions to use.
There is also an email interface for Mailman, allowing list admins to adjust settings or handle caught messages without requiring them to open up a web browser.
Since this interface is not as commonly used as the web interface, it is highly likely that this part of the documentation will be among the last pieces written. If you wish to speed this up, please feel free to help fill it in!
The web interface for moderation can be found at a URL similar to the following, depending on your mailman config:
From here, you will see a list of anything awaiting your decision. This is largely messages that have been caught for some reason, but may also include subscription/unsubscription requests if you require admin authorization before someone can join or leave the list.
Messages are "caught" in the moderation queue depending upon your list settings. There are a number of rules that allow you to choose which messages require moderation, but basically you want things which might be inappropriate to be caught by these filters so a human can choose whether they get sent to all subscribers or not.
For example, as an anti-spam measure, many lists only accept messages from their members. Any non-member who sends a message will have it caught in the moderation queue. If the message turns out to be spam, it can be discarded, but if it turns out to be from someone posting from their work address, you may wish to send it out anyhow. See the Sender filters section.
A link is provided so you can read the entire message if you want to.
In addition, there is a checkbox (near the submit button) which allows you to "Discard all messages marked Defer" – this allows you to bulk-discard spam messages and can be a very handy option. It only applies to the messages displayed in the queue page as you've loaded it.
This is a setting chosen when the list was set up. If you do not wish to moderate subscription/unsubscription requests, you can change your list config. See the subscribe_policy setting in the Subscription rules section.
The interface for moderating members joining and leaving is similar to that for messages, only instead of a message summary we have the email address and name of the person under consideration.
The General Options category is where you can set a variety of variables that affect basic behavior and public information. In the descriptions that follow, the variable name is given first, along with an overview and a description of what that variable controls.
If set to Munge From, it replaces the From: header address with the list's posting address to mitigate issues stemming from the original From: domain's DMARC or similar policies and puts the original From: address in a Reply-To: header.
This section controls what happens to the Reply-To: headers of messages posted through your list.
Beware! Reply-To: munging is considered a religious issue and the policies you set here can ignite some of the most heated off-topic flame wars on your mailing lists. We'll try to stay as agnostic as possible, but our biases may still peak through.
Reply-To: is a header that is commonly used to redirect replies to messages. Exactly what happens when your users reply to such a message depends on the mail readers your users use, and what functions they provide. Usually, there is both a reply to sender button and a reply to all button. If people use these buttons correctly, you will probably never need to munge Reply-To:, so the default values should be fine.
The three options in this section work together to provide enough flexibility to do whatever Reply-To: munging you might (misguidingly feel you need to do.
TBD. Note that umbrella lists are deprecated and will be replaced with a better mechanism for Mailman 3.0.
Mailman sends notifications to the list administrators or list members under a number of different circumstances. Most of these notifications can be configured in this section, but see the Bounce Processing and Auto-responder categories for other notifications that Mailman can send.
This section contains some miscellaneous settings for your mailing list.
This variable presents a set of checkboxes which control the defaults for some of the member options. Conceal the member's address specifies whether or not the address is displayed in the list roster. Acknowledge the member's posting controls whether or not Mailman sends an acknowledgement to a member when they post a message to the list. Do not send a copy of a member's own post specifies whether a member posting to the list will get a copy of their own posting. Filter out duplicate messages to list members (if possible) specifies whether members who are explicitly listed as a recipient of a message (e.g. via the Cc: header) will also get a copy from Mailman.
As mentioned above, there are two primary administrative roles for mailing lists. In this category you can specify the password for these roles.
The list owner has total control over the configuration of their mailing list (within some bounds as specified by the site administrator). Note that on this page, for historical reasons, the list owner role is described here as the list administrator. You can set the list owner's password by entering it in the password field on the left. You must type it twice for confirmation. Note that if you forget this password, the only way for you to get back into your list's administrative pages is to ask the site administrator to reset it for you (there's no password reminders for list owners).
If you want to delegate list moderation to someone else, you can enter a different moderator password in the field on the right (typed twice for confirmation). Note that if you aren't going to delegate moderation, and the same people are going to both configure the list and moderate postings to the list, don't enter anything into the moderator password fields. If you do enter a separate moderator password, be sure to fill in the moderator variable in the General options category page.
Mailman is multilingual and internationalized, meaning you can set up your list so that members can interact with it in any of a number of natural languages. Of course, Mailman won't translate list postings.
However, if your site administrator has enabled its support, you can set your list up to support any of about two dozen languages, such as German, Italian, Japanese, or Spanish. Your list members can then choose any of your supported languages as their preferred language for interacting with the list. Such things as their member options page will be displayed in this language. Each mailing list also has its own preferred language which is the language the list supports if no other language context is known.
These variables control the language settings for your mailing list:
The Membership Management category is unlike the other administrative categories. It doesn't contain configuration variables or list settings. Instead, it presents a number of pages that allow you to manage the membership of your list. This includes pages for subscribing and unsubscribing members, and for searching for members, and for changing various member-specific settings.
More details on membership management are described in the Membership Management section.
Mailman delivers messages to users via two modes. List members can elect to receive postings in bundles called digests one or a few times a day, or they can receive messages immediately whenever the message is posted to the list. This latter delivery mode is also called non-digest delivery. There are two administrative categories available for separately controlling digest and non-digest delivery. You can even disable one or the other forms of delivery (but not both).
Both kinds of delivery can have list-specific headers and footers added to them which can contain other useful information you want your list members to see. For example, you can include instructions for unsubscribing, or a url to the lists digest, or any other information.
Non-digest deliveries can also be personalized which means certain parts of the message can contain information tailored to the member receiving the message. For example, the To: header will contain the address of the member when deliveries are personalized. Footers and headers can contain personalized information as well, such as a link to the individual user's options page.
In addition, personalized messages will contain extra information that Mailman can use to unambiguously track bounces from members. Ordinarily, Mailman does some pattern recognition on bounce messages to determine list members whose addresses are no longer valid, but because of the vagaries of mail systems, and the countless forwards people can put in place, it's often the case that bounce messages don't contain any useful information in them. Personalized messages avoid this problem by encoding information in certain headers that unambiguously identify the recipient of a message. If that message bounces, Mailman will know exactly which member it was intended for.
Note that because personalization requires extra system resources, it must be enabled by the site administrator before you can choose it.
Here are the variables which control non-digest delivery:
Headers and footers can contain any text you want. For non-English lists, the headers and footers can contain any character in the character set of the list's preferred language. The headers and footers can also contain substitution variables which Mailman will fill in with information taken from the mailing list. These substitutions are in Python string interpolation format, where something like %(list_name)s is substituted with he name of the mailing list. Note that the trailing "s" is required[1].
For example, a footer containing the following text:
This is the %(list_name)s mailing list Description: %(description)s
might get attached to postings like so:
This is the Example mailing list Description: An example of Mailman mailing lists
Here is the list of substitution variables available for your headers and footers:
Note that real_name, host_name, description, and info substitution variables take their values from the list configuration variables of the same name.
When personalization is enabled, the following substitution variables are also available:
Sibling lists are other lists in the installation whose regular (non-digest) members can be excluded or included as recipients of posts to this list. The following three settings control this.
Digest delivery is a way to bundle many articles together into one package, which can be delivered once per day (if there were any posted articles), or whenever the package is bigger than a specified limit. Some users may prefer this style of delivery for higher traffic lists since they will receive fewer messages.
Mailman supports two standard digest formats, and if digests are enabled, users can select which of the two formats they receive. One is MIME digests, where each message is an attachment inside a multipart/digest. This format also contains a summary table of contents, and of course the an optional header and footer, and it retains most of the headers of the original messages.
The second type is called "plaintext" digests because they are readable in mail readers that don't support MIME. Actually, they adhere to the RFC 1153 digest standard. They retain some, but not all of the original messages, but can also include a summary and headers and footers.
Like non-digest delivery, you can enable or disable digest delivery, but you cannot disable both types of delivery. You can specify different headers and footers for digest and non-digest deliveries. You cannot personalize digest deliveries.
As list administrator, you may want to send an urgent message to all list members, bypassing the normal digest bundling. To do this, send the message with a Urgent: header, where the value of the header is the list administrator's password. Non-digest members will receive the message like normal, but digest members will receive the message immediately[1].
Here are the variables which control digest delivery:
The Privacy category lets you control how much of the list's information is public, as well as who can send messages to your list. It also contains some spam detection filters. Note that this section is not used to control whether your list's archives are public or private; for that, use the category.
Many of the fields in this section are text boxes accepting addresses, one per line. Unless otherwise noted, these also accept regular expressions which will be matched against an address, if the line begins with a ^ (caret) character.
This subcategory controls the rules for exposing the existence of this list, and for what new members must do in order to subscribe to the list.
When a message is posted to the list, a series of moderation criteria is applied to determine the disposition of the message. This section contains the moderation controls for postings from both members and non-members.
You can control whether new members get their moderation flag turned on or off by default when they subscribe to the list. By turning this flag off by default, postings by members will be allowed without further intervention (barring other restrictions such as size or implicit recipient lists - see below). By turning the flag on, you can quarantine new member postings to make sure that they meet your criteria for netiquette, topicality, etc. Once you determine that the new member understands the community's posting rules, you can turn off their moderation flag and let their postings go through unstopped.
The next group of settings control messages whose From: domain publishes a DMARC p=reject or p=quarantine policy.
The next batch of variables controls what happens when non-members post messages to the list. Each of these accepts one email address per line; regular expressions are allowed if the line starts with the ^ (caret) character. These address lists are always consulted in the order in which they're presented on this page (i.e. accepts first, followed by holds, rejections, and discards).
The variables in this section control various filters based on the recipient of the message.
These policies control the automatic bounce processing system in Mailman. Here's an overview of how it works:
When a bounce is received, Mailman tries to extract two pieces of information from the message: the address of the member the message was intended for, and the severity of the problem causing the bounce. The severity can be either hard for fatal errors, or soft for transient errors. When in doubt, a hard severity is used.
If no member address can be extracted from the bounce, then the bounce message is usually discarded. Every member has a bounce score, initialized at zero, and every time we encounter a bounce from a member we increment that member's score. Hard bounces increment by 1 while soft bounces increment by 0.5. We only increment the bounce score once per day, so even if we receive ten hard bounces from a member per day, their score will increase by only 1 for that day.
When a member's bounce score is greater than the bounce score threshold (see below), the member's subscription is disabled. Once disabled, the member will not receive any postings from the list until their membership is explicitly re-enabled, either by the list administrator or the user. However, they will receive occasional reminders that their membership has been disabled, and these reminders will include information about how to re-enable their membership. You can control both the number of reminders the member will receive and the frequency with which these reminders are sent.
There is one other important configuration variable; after a certain period of time - during which no bounces from the member are received - the bounce information is considered stale and discarded. Thus by adjusting this value, and the score threshold, you can control how quickly bouncing members are disabled. You should tune both of these to the frequency and traffic volume of your list.
Mailman comes with a built-in web-based archiver called Pipermail, although it can be configured to use external, third party archivers.
Mailman has a sophisticated mail-to-news gateway feature. It can independently gate messages from news to mail and vice versa, and can even be used to manage moderated newsgroups.
You can create a mailing list using either the web interface or the command-line interface.
The mailing list creation page is accessed via http://WEBSERVER/mailman/create.
This page contains some instructions and a form for you to fill in the required details:
Name of list: The real name of the list.
Initial list owner address: The email address of the list administrator.
Auto-generate initial list password: Yes or No.
Initial list password/Confirm initial password: Enter your required password here if you entered No in the auto-generate field.
Should new members be quarantined: Choose Yes to hold postings by new members for moderation.
Supported languages: Check all that apply.
Send "list created" email to list owner: Yes or No.
List creator's (authentication) password: This is the site administrator's password or the list creator's password which should have been created when the site was installed.
Click on the "Create list" button, and then you can go to configure the site as per the instructions above.
Lists are created from the command line with newlist. This is one of the mailman/bin commands. Give the command bin/newlist --help for full information.
If list archives are retained (default behavior), the archive files are left on the file system. If the archives are private, the Mailman administrator can still access the archives through web interface by authenticating with the site password, but list users (and the list administrator) will not have access because their authentications no longer exist. If the archives are public, pipermail URLs can still be used to access the archives without authentication.
NOTE removing the list completely may require manual editing of the mail aliases file, that is, /etc/aliases depending on the MTA and its integration with Mailman or lack thereof.
Once a list has been removed, it may be re-added with the newlist command line tool, however all information about the list (for example, description and previous members) will be missing. However, private archives which were retained will then be available to current members via the web interface.
It is also possible to allow mailing list removal via the web admin interface if the option/variable OWNERS_CAN_DELETE_THEIR_OWN_LISTS is enabled in mm_cfg.py; by default this option is disabled.
MailmanWiki: DOC/Mailman 2.1 List Administrators Manual (последним исправлял пользователь msapiro 2016-01-03 17:34:28)