|
|
1.1 root 1: .\" This file is automatically generated. Do not edit!
2: .SC MH\-ALIAS 5
3: .NA
4: mh\-alias \- alias file for MH message system
5: .SY
6: any \fIMH\fR command
7: .DE
8: This describes both \fIMH\fR personal alias files and
9: the (primary) alias file for mail delivery, the file
10:
11: /usr/new/lib/mh/MailAliases
12:
13: It does \fBnot\fR describe aliases files used by the message transport system.
14: Each line of the alias file has the format:
15:
16: alias : address\-group
17: .br
18: or
19: .br
20: alias ; address\-group
21: .br
22: or
23: .br
24: < alias\-file
25: .br
26:
27: where:
28:
29: address\-group := address\-list
30: .br
31: | \*(lq<\*(rq file
32: .br
33: | \*(lq=\*(rq UNIX\-group
34: .br
35: | \*(lq+\*(rq UNIX\-group
36: .br
37: | \*(lq*\*(rq
38:
39: .br
40: address\-list := address
41: .br
42: | address\-list, address
43: .br
44:
45: Continuation lines in alias files end with `\\' followed by the newline
46: character.
47:
48: Alias\-file and file are UNIX file names.
49: UNIX\-group is a group name (or number) from \fI/etc/group\fR.
50: An address is a \*(lqsimple\*(rq Internet\-style address.
51: Througout this file, case is ignored, except for alias\-file names.
52:
53: If the line starts with a `<', then the file named after the `<' is
54: read for more alias definitions. The reading is done recursively, so a `<'
55: may occur in the beginning of an alias file with the expected results.
56:
57: If the address\-group starts with a `<',
58: then the file named after the `<' is read and its contents are added to
59: the address\-list for the alias.
60:
61: If the address\-group starts with an `=',
62: then the file \fI/etc/group\fR is consulted
63: for the UNIX\-group named after the `='.
64: Each login name occurring as a member of the group is added to the
65: address\-list for the alias.
66:
67: In contrast, if the address\-group starts with a `+',
68: then the file \fI/etc/group\fR is consulted
69: to determine the group\-id of the UNIX\-group named after the `+'.
70: Each login name occurring in the \fI/etc/passwd\fR file whose group\-id
71: is indicated by this group is added to the address\-list for the alias.
72:
73: If the address\-group is simply `*',
74: then the file \fI/etc/passwd\fR is consulted
75: and all login names with a userid greater than some magic number
76: (usually 200) are added to the address\-list for the alias.
77:
78: In match, a trailing * on an alias will match just about anything appropriate.
79: (See example below.)
80:
81: An approximation of the way aliases are resolved at posting time is
82: (it's not really done this way):
83:
84: .in +.5i
85: 1) Build a list of all addresses from the message to be
86: delivered, eliminating duplicate addresses.
87:
88: 2) If this draft originated on the local host,
89: then for those addresses in the message that have no host specified,
90: perform alias resolution.
91:
92: 3) For each line in the alias file,
93: compare \*(lqalias\*(rq against all of the existing addresses.
94: If a match, remove the matched \*(lqalias\*(rq from the address list,
95: and add each new address in the address\-group to the address list
96: if it is not already on the list.
97: The alias itself is not usually output,
98: rather the address\-group that the alias maps to is output instead.
99: If \*(lqalias\*(rq is terminated with a `;' instead of a `:',
100: then both the \*(lqalias\*(rq and the address are output
101: in the correct format.
102: (This makes replies possible since \fIMH\fR aliases and
103: personal aliases are unknown to the mail transport system.)
104: .in -.5i
105:
106: Since the alias file is read line by line, forward references
107: work, but backward references are not recognized, thus, there is
108: no recursion.
109:
110: \fBExample:\fR
111: .nf
112: .in +.5i
113: </usr/new/lib/mh/BBoardAliases
114: sgroup: fred, fear, freida
115: fred: frated@UCI
116: UNIX\-committee: <unix.aliases
117: staff: =staff
118: wheels: +wheel
119: everyone: *
120: news.*: news
121: .in -.5i
122: .fi
123:
124: The first line says that more aliases should immediately be read from
125: the file \fI/usr/new/lib/mh/BBoardAliases\fR.
126: Following this, \*(lqfred\*(rq is defined as an alias for
127: \*(lqfrated@UCI\*(rq,
128: and \*(lqsgroup\*(rq is defined as an alias for
129: the three names \*(lqfrated@UCI\*(rq, \*(rqfear\*(rq, and \*(rqfreida\*(rq.
130: Next, the definition of \*(lqUNIX\-committee\*(rq is given by reading
131: the file \fIunix.aliases\fR in the users \fIMH\fR directory,
132: \*(lqstaff\*(rq is defined as all users who are listed as members of
133: the group \*(lqstaff\*(rq in the \fI/etc/group\fR file,
134: and \*(lqwheels\*(rq is defined as all users whose group\-id in
135: \fI/etc/passwd\fR is equivalent to the \*(lqwheel\*(rq group.
136: Finally, \*(lqeveryone\*(rq is defined as all users with a user\-id in
137: \fI/etc/passwd\fR greater than 200,
138: and all aliases of the form \*(lqnews.<anything>\*(rq are defined
139: to be \*(lqnews\*(rq.
140:
141: The key thing to understand about aliasing in \fIMH\fR
142: is that aliases in \fIMH\fR alias files are expanded into the
143: headers of messages posted.
144: This aliasing occurs first,
145: at posting time,
146: without the knowledge of the message transport system.
147: In contrast,
148: once the message transport system is given a message to deliver
149: to a list of addresses,
150: for each address that appears to be local,
151: a system\-wide alias file is consulted.
152: These aliases are \fBNOT\fR expanded into the headers of messages delivered.
153: .Hh
154: To use aliasing in \fIMH\fR quickly, do the following:
155:
156: .in +.5i
157: First, in your \fI\&.mh\(ruprofile\fR,
158: choose a name for your primary alias file, say \*(lqaliases\*(rq,
159: and add three lines:
160:
161: .nf
162: .in +.5i
163: ali: \-alias aliases
164: send: \-alias aliases
165: whom: \-alias ailases
166: .in -.5i
167: .fi
168:
169: Second, create the file \*(lqaliases\*(rq in your \fIMH\fR directory.
170:
171: Third, start adding aliases to your \*(lqaliases\*(rq file as appropriate.
172: .in -.5i
173: .Fi
174: ^/usr/new/lib/mh/MailAliases~^Primary alias file
175: .Pr
176: None
177: .Sa
178: ali(1), send(1), whom(1), group(5), passwd(5), conflict(8), post(8)
179: .De
180: None
181: .Co
182: None
183: .Hi
184: In previous releases of \fIMH\fR,
185: only a single, system\-wide mh\-alias file was supported.
186: This led to a number of problems,
187: since only mail\-system administrators were capable of (un)defining
188: aliases.
189: Hence,
190: the semantics of mh\-alias were extended to support personal alias files.
191: Users of \fIMH\fR no longer need to bother mail\-system administrators for
192: keeping information in the system\-wide alias file,
193: as each \fIMH\fR user can create/modify/remove aliases at will from any
194: number of personal files.
195: .Bu
196: Although the forward\-referencing semantics of \fImh\-alias\fR files prevent
197: recursion, the \*(lq<\ alias\-file\*(rq command may defeat this. Since the
198: number of file descriptors is finite (and very limited), such infinite
199: recursion will terminate with a meaningless diagnostic when all the fds are
200: used up.
201: .En
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.