Carnegie Mellon University Website Home Page
 

Creating a Distribution List

Users often have more than one distribution list. So, it is common for a user to create a subdirectory in his or her home directory on AFS called, for example, "dl", "dists", or "dlists." In the following example, we assume that Joe User (ju33) has a subdirectory called "dlists" in which he places his distribution lists. He decides to create a distribution list or "dlist" for a group of colleagues who are interested in special education. His distribution list file is called "specialed.dl" and looks like this:

; Errors to Joe's mailbox
distribution-errors-to: ju33+andrew.cmu.edu
; Distribution list for special-ed colleagues
Distribution-content:
eeKr+@andrew.cmu.edu,
banana@fruitsalad.stanford.edu,
hgCd+@andrew.cmu.edu (Hal's new addrs),
pat@cs.cmu.edu

Comments and blank lines

Comments are ignored when email is sent to a dlist; they are for your information only. There are two types of comments possible in distribution lists: semicolons and parentheses. The first and fourth lines in Joe's file are semicolon comments; they explain what the other lines do and must start at the beginning of a line (you cannot insert a semicolon in the middle of a line to start a comment). Blank lines, such as line three above, can be inserted anywhere in the distribution list file to improve readability. The eighth line above has a comment in parentheses after an address. This is also an acceptable form of commenting, but you still need to follow the address line with a comma.

Distribution-errors-to

The second line in Joe's file begins with the words "Distribution-errors-to:" (note the colon at the end). This line has to come before the "Distribution-content:" and tells the Message System to return to Joe any error notices generated by the addresses in the dlist. An error notice is generated when mail cannot be delivered to an address included in the distribution list (e.g., a recipient's account may no longer be active). By having rejected mail returned to himself, Joe will be aware of any updates he must make to the dlist.

The presence of the "Distribution-errors-to:" line also avoids another problem. Suppose another user on the dlist, such as eeKr, sent mail to the dlist and generated an error notice because one of the pieces of mail was undeliverable. Ordinarily, the error notice would go back to eeKr because he sent the mail. However, since the undeliverable address is on Joe's dlist, the error notice goes back to Joe, the person who maintains the distribution list. The "Distribution-errors-to:" line ensures that no matter who uses Joe's dlist, any error notices go back to Joe, who can then correct the list.

If no "Distribution-errors-to:" line appears in a dlist, the Message System will form an address from the name of the owner of the dlist file (usually, the owner is the person who created the file). For example, if Joe did not include a "Distribution-errors-to:" line in his dlist, the address to which error notices are sent would be "ju33+@andrew.cmu.edu". In Joe's case, the end effect is the same with or without his "Distribution-errors-to:" line, as long as he remains the owner of the file.

There are conditions under which ownership of the dlist file can change. For example, some text editors cause the owner to become the person who last edited the file. If you omit the "Distribution-errors-to:" line from your dlist, you should check the dlist file periodically to see that you are still the owner (by typing "ls -l" filename), particularly if more than one person is maintaining the dlist. In addition, other users may want to do more complex routings of error notices as described in the section on "Advanced examples." In those cases, an automatically-formed address would not necessarily correspond to what the user would have specified in the "Distribution-errors-to:" line.

Distribution-content

The fifth line in Joe's file begins with "Distribution-content:". This signals the beginning of the list of addresses that are part of the special education distribution list. The addresses must be separated by commas. If an address appears on a line by itself (as in the example above), a comma should appear at the end of the line. Addresses may also be placed one after the other instead of on separate lines as long as they are separated by commas, as in this example:

Distribution-content:
eeKr@andrew.cmu.edu, banana@fruitsalad.stanford.edu,
hgCd+@andrew.cmu.edu,pat@cs.cmu.edu

Placing each address on a separate line makes the distribution list easier to correct and maintain. Remember that mail aliases cannot be included in distribution lists unless you are using dlc to maintain them.

Capitalization in distribution lists

The tags that begin with "distribution" in dlists, such as "Distribution-content:" and "Distribution-errors:", can be capitalized in any way without disrupting mail service. However, what follows the colon after the tag is usually a mail address and should be typed exactly as it would appear in a message-sending window.

Protections for distribution lists

The directory that contains a distribution list must allow any Andrew user (system:anyuser) or the mail system (postman:dlist) to read and lookup the files contained there. For instructions on how to update these permissions, see the AFS Directory Access Rights document.

For Joe's dlist directory, the protections would need to be:

 % fs la dlists
Access list for dlists is
Normal rights:
System:anyuser rl
[your user ID] rlidwka

Giving "system:anyuser" read and look-up rights to the directory where the dlist is stored allows any Andrew user in the dlist to be able to read the file and see who else is on the list. The protections for his home directory must have at least look-up access for "system:anyuser" for this instance.

If you want people to be able to send to your dlist but not be able to view who else is on the dlist, you can remove the permissions for "system:anyuser" on your dlist directory, and give "postman:dlist" read access to both your dlist directory and to your home directory. The protections for this would be:

 % fs la dlists
Access list for dlists is
Normal rights:
postman:dlist rl
[your userID] rlidwka
Last Updated 2/8/12