Mailing Lists

How to create a public mailing list on CSLab machines:

First, pick a name for the list.

Let's assume the list name is "football".

Create the file /cs/lists/football.

Add the addresses of the list subscribers, one per line.

That's all there is to it, although you may have to wait up to ten minutes or so for all the parts of the mail system to recognize a new mailing list.

Mail sent to will be delivered to each address contained in the file. Also, mail to or will be sent to the owner of the file (you).

listname-request is the conventional name for the person who handles subscription requests and other administrative jobs related to a mailing list listname.

listname-owner is the address which the mail system supplies as the sender address for mail passing through the list. This is the address which will typically be notified in the event that one or more of the recipients' addresses on the list isn't deliverable.

If you'd like to keep the list of subscribers private, change the file permissions accordingly:

chmod 600 /cs/lists/football

When the list is no longer needed, please remember to remove the list file.

What names mailing lists can have

Mailing list names should be in lower case; in fact, they can only contain lower case letters, digits, hyphens, plus signs, and periods. If you have a mailing list with other characters in its name (including upper case letters), the system will act as if it doesn't exist, so attempts to email it will get error messages about 'no such address'.

(You should use single hyphens and periods to separate other words; using two of them in a row generally won't work.)

Dealing with spam to mailing lists

There are three options for dealing with spam being sent to your mailing lists: filtering at the gateway, diverting all tagged spam to another address, and restricting who can post to a mailing list. First, a mailing list can be opted in to any of the gateway filtering options covered in our gateway spam filtering page.

To divert emails tagged as spam (or viruses) by our mail server to another address, create a new mailing list called listname.spam and put the address (or addresses) in it. If you want all spam-tagged messages to just be discarded, create a listname.spam file that contains just: /dev/null

To restrict who can post to a mailing list, create a file called /cs/lists/listname..posters (note the two periods) and put into it the full email address of each person that you want to be able to send messages to the mailing list. You should include your own email address if applicable; the owner of the mailing list is not automatically permitted to post to it.

  • (By 'full email address' we mean addresses like, not user@cs or just user.)

What spam filtering options a mailing list has is up to its owner. If you are on a mailing list that is getting too much spam, you need to contact the owner to persuade them to add some anti-spam measures.

Under the hood: what can go in mailing list files

Mailing lists can include anything that could be put into a .forward file, and are treated the same way; this includes normal email addresses, files, and pipes. (Essentially a mailing list file is a .forward, just located in a different place and reached under a different email address.)

The exception to this is if the mailing list is group or world writable. In that case, files and pipes are not accepted due to security issues. You can only include plain email addresses.