A short link to this page is https://wiki.list.org/x/4030685

Clear message

3.11. How do I create a newsletter/announcement/one-way list?

From 2 posts by Barry Warsaw to the mailman-users list on February 10/11 2003, with edits by JC Dill:

How to setup an announcement/newsletter/one-way email list with Mailman:

Features: Members join by filling in a form on your website (and replying to the confirmation email). They will be sent a welcome message that does not mention how to post to the list. They will receive your newsletters, with a footer that gives simple instructions for unsubscribing. Only authorized persons can post to the list (send the newsletters). (Note: For this FAQ we are discussing how to setup an announcement list for a band.)

For Mailman 2.1.x

How to create a customized welcome message and listinfo page that avoids mentioning how to post to the list:

In Mailman 2.1.x you can customize the welcome message. Create a directory lists/<yourlist>/en (assuming English and copy templates/subscribeack.txt to this directory. Then edit this file for your specific wording. Mailman will use this specialized template for the English welcome messages. The same thing can be done for the listinfo.html template for the listinfo page.

Prior to Mailman 2.1.6, if you don't have write access to Mailman's directories and files, then you won't be able to create a customized welcome message for your list. Beginning with Mailman 2.1.6, you can edit the welcome message via the 'Edit the public HTML pages and text files' link in the web admin interface.

In all Mailman 2.1.x versions, you can edit the listinfo page template via the 'Edit the public HTML pages and text files' link in the web admin interface.

How to minimize password issues and unsubscription problems commonly faced on this type of list:

Turn on personalization under the NonDigest section[1] (and disable digests under the Digest section) so people get their options page URL included in the footer of every message. While not totally avoiding the use of a password, most unsubs won't need them. The easiest instructions (include in the footer) are to send a message to <yourlist>-leave@dom.ain, and then simply reply to the confirmation message, so they never need to know their password. Disable monthly password reminders. You may wish to occasionally manually run the reminders to cull dead addresses.

[1] In 2.1 personalization is not enabled by default - adding:

  OWNERS_CAN_ENABLE_PERSONALIZATION = 1

to ${prefix}/Mailman/mm_cfg.py will reveal this functionality.

How to restrict the list so only authorized persons can post:

Turn on the moderation flag for all your existing users. Go to the membership management page, and use the Additional Member Tasks to turn on the mod flag for all users.

Then go to Privacy Options -> Sender filters and set the default_member_moderation flag to Yes so that new users are automatically set as moderated.

Set the member_moderation_action to Reject and add a nice rejection notice text to the following text box. Say something like "this is an announcement list, to reach the band, please email band@dom.ain"

Set the generic_nonmember_action to Reject or Discard.

How to set an announcement list to reply to a contact address:

Go to the General options and scroll down to Reply-To: header munging. Turn on first_strip_reply_to and set reply_goes_to_list to Explicit Address. Set reply_to_address to band@dom.ain. This way anyone following up to an announcement will send the message to your band contact address. If your newsletters are likely to be widely forwarded on, you may want to use a special contact address for this purpose, one you can change from time to time when the address starts receiving a lot of spam.

Scroll down on the General options and set include_list_post_header to No, but leave include_rfc2369_headers to Yes.

How to post to the announcement list:

For the list subscribers who are authorized to post announcements to the list, turn off their moderation flag so their postings go straight through. (Note: this leaves open the possibility of someone forging email as coming "from" one of the authorized posters, and spamming your list. This also opens a door for virus software that takes a random address from the infected computer and uses it as the "from", and then sends to another random address on the same computer, to use the authorized sender address and the list address, and end up sending the virus to your list.)

A more secure alternative is to leave all members moderated. Then approved posters can add an Approved: header to their postings as an actual header, or as the first line of the body of a plain text post.

The approved header or first line has the following format:

  Approved: <password>

where <password> is the list admin or list moderator password or for Mailman 2.1.15 and up, the list poster password. If you are using this on the first line of your post with Mailman older than 2.1.7, follow it with a blank line. Mailman will recognize the Approved: line if it is the first non-blank line of the first text/plain part of the message and will remove it. In this case, Mailman 2.1.7 or later will also attempt to remove it from HTML alternative parts in which it appears, but because of uncertainties in the removal process, it is best to use an actual header if you are posting other than straight plain text.

Q: If I misformat it, is there a chance that I will send the administrator password sailing forth to the list?

A: No, in theory it will either get approved and stripped or not stripped and not approved.

For Mailman 2.0.x

If you want to create a list to which only the admin or a restricted number of people can post (such as a newsletter), set member_posting_only to "no" and add the addresses of all allowed posters to posters.

This is done on the Privacy Options page. The relevant items are "Restrict posting to list members" and "Addresses of members accepted...".

There is a link to more detailed information for the items which you might want to read as well.

One problem you will encounter is that the headers of each list message still mention a post address, and some users will think that public posting is allowed. This can be turned off in Mailman v.2.1, but for the 2.0 series, it seems you have to live with it.

In 2.1b, "Restrict posting to list members" is no longer available, unfortunately. It appears the best solution for 2.1 is to make all members require moderation, give them an auto-action if they try to post (discard or bounce, e.g.), give all non-subscribers an auto-action, and then either specifically allow certain non-subscribed addresses or un-mod certain subscribed addresses to allow them to post or leave everyone moderated and post with an Approved: header as discussed above under 'How to post to the announcement list:'.

Using the command-line tools instead of the web administration interface

How to do it in Mailman 2.1: you want a list where only the list moderator can post. If list subscribers (or nonsubscribers) try to post, you want their messages to be rejected. The list moderator should be able to send email to the list without having to tend to administrative requests - you just want the email to go. The quickest way to fix the list configuration settings to get this scenario is to dump the configuration list via "config_list", edit the file, and read it back in.

Here is what you need to do for list "foobar", assuming that "joeblow@big.com" is the moderator:

   config_list -o foobar foobar

Then edit the foobar file and set the following options:

   moderator = ['joeblow@big.com']
   default_member_moderation = 1
   member_moderation_action = 1   (reject member posts)
   member_moderation_notice = 'Sorry, subscribers cannot post to this list.'
   generic_nonmember_action = 2   (reject nonmember posts)

Now reload the foobar settings file:

   config_list -i foobar foobar

Note that it is not necessary to dump and edit the configuration. You can simply create the foobar file with the above entries and then run

   config_list -i foobar foobar

as config_list only changes those settings in the input file and leaves everything else unchanged.

One final step is needed so that the moderator can post to the list without doing "tend administrative requests". Go to the admin webpage for the list and UNCHECK the "mod" button for the moderator ONLY. All subscribers to the list should have the "mod" button turned ON, except for the moderator. This assumes that the moderator is also subscribed to the list.

Note however that the more secure way to to this is to leave everyone moderated and post with an Approved: header as discussed above under 'How to post to the announcement list:'.

Converted from the Mailman FAQ Wizard

This is one of many Frequently Asked Questions.