1 10/21/83 Mail System Addresses
2
3 An address identifies an originator or a recipient of a message. A
4 single address refers to one of the following: a Multics mailbox either
5 by pathname or User_id, a Forum meeting, a user or group of users on
6 another computer system, an entry in the system's mail table, or a
7 mailing list.
8
9 Each address has three different representations. The internal
10 representation of an address is used exclusively by the mail system and
11 appears to programs which use the mail system as a PL/I pointer
12 variable. The printed representation of an address is the human
13 readble form of an address which is used when displaying a message or
14 searching a message for a given character string. The control argument
15 representation of an address is the sequence of command/request line
16 arguments and control arguments recognized by the mail system in order
17 to allow a user to specify one or more addresses on a command/request
18 line.
19
20
21 List of address types:
22 The following types of addresses are supported by the mail system:
23
24 user default mailbox address
25 identifies a user's default mailbox by both User_id and pathname.
26 A user's default mailbox mailbox has the pathname --
27 >udd>Project_id>Person_id>Person_id.mbx
28 and is the mailbox where a user ordinarily receives his incoming
29 mail.
30 logbox address
31 identifies a user's logbox by both User_id and pathname. A user's
32 logbox has the pathname --
33 >udd>Project_id>Person_id>Person_id.sv.mbx
34 and is one of the mailboxes where a user may store messages for
35 future reference.
36
37
38 savebox address
39 identifies a user's savebox by both User_id and pathname. A savebox
40 is any mailbox with a suffix of "sv.mbx". Like the logbox, a user
41 normally stores messages in a savebox for future reference.
42 mailbox address
43 identifies any mailbox by pathname which is not a user's default
44 mailbox, a logbox, or a savebox.
45 forum address
46 identifies any Forum meeting by pathname.
47 foreign address
48 identifies a user or group of users on another computer system. A
49 foreign address consists of an arbitrary character string which is
50 the address on the foreign system, the name of the foreign system,
51 and optional explicit and implicit address routes which are used to
52 aid in the delivery of mail to the address. See "Address routes"
53 below for more information.
54
55
56 mail table address
57 identifies an entry in the system's mail table by its name or one of
58 its aliases. In addition to its name and aliases, every entry in
59 the mail table includes a mail system address. When mail is sent to
60 a mail table address, it is delivered to the address listed in the
61 mail table for that entry. For more information on the mail table,
62 type:
63 help mail_table.gi
64 mailing list address
65 identifies a mailing list by pathname. A mailing list is an ASCII
66 segment or archive component which contains the printed
67 representations of one or more addresses. When mail is sent to a
68 mailing list, it is delivered to each of the addresses in the list.
69 For more information on mailing lists, type:
70 help mailing_lists.gi
71
72
73 named group address
74 identifies a named group of addresses. A named group is
75 distinguished from a mailing list by the fact that the individual
76 addresses which comprise the group appear in the printed
77 representation of the address whereas only the pathname of the
78 mailing list appears in its printed representation. Usually, this
79 type of address is only found in messages which were created on
80 another computer system.
81 invalid address
82 identifies an invalid address. An invalid address will be created
83 by those entrypoints in the mail system which convert printed
84 representations of addresses, etc. into their internal
85 representation if requested by their callers when a character string
86 is found in the printed representation which does not correspond to
87 any of the types of address supported by the mail system. Any
88 attempt to send mail to an invalid address will, of course, be
89 detected as an error.
90
91
92 Address names:
93 The address name, which is an optional part of all types of addresses,
94 is a character string which identifies the person who receives mail at
95 a given address. Normally, the address name is the individual's full
96 name; however, in the case of a mailing list or named group, the
97 address name is a global description of the individual addresses within
98 the list. On some non-Multics systems, several persons are allowed to
99 share a single address; in these cases, the system uses the address
100 name to determine for which of these individuals a given message is
101 intended.
102
103
104 Address comments:
105 The address comment, which is an optional part of all types of
106 addresses, is a character string with no semantic meaning that may be
107 associated with an address. Although now considered obsolete, the
108 address comment is still supported by the mail system to provide
109 compatibilty with prior releases and with non-Multics systems that
110 still use the address comment in place of the address name.
111
112
113 Address routes:
114 As mentioned briefly above, a foreign address may include optional
115 explicit and implicit address routes. An address route defines the
116 path through one or more networks to be used to deliver a piece of mail
117 to a foreign system. An address route is represented as an ordered
118 list of system names. A message is sent by the local system to the
119 first system in the route; that system then sends the message to the
120 second system in the route, and so on until the message arrives at its
121 destination.
122
123 The mail system will compute the shortest address route for a given
124 foreign address at the time that mail is actually sent to that address.
125 However, this computation may be affected by the explicit and implicit
126 address routes which are part of that foreign address.
127
128
129 The explicit route, if present, is the address route which has been
130 specifically requested by a user to be used for the given foreign
131 address. The explicit route is normally used to instruct the mail
132 system how it should deliver mail to a system for which it would not be
133 able to compute an address route. However, if present, an explicit
134 route will always be used by the mail system even when its internal
135 routing algorithms could compute a shorter route to the destination
136 system.
137
138 The implicit route, if present, is an address route associated with a
139 message that originated on a foreign system. When requested to deliver
140 a message to one of the addresses in the original message eg: via the
141 read_mail reply request, the mail system will attempt to compute an
142 address route for the address. If the address route computation fails,
143 the mail system will use the implicit route as the route for the
144 address.
145
146
147 List of printed representations:
148 The printed representation of an address is the human readable form
149 of that address. It is used by the mail system when displaying a
150 message or searching a message for a given character string.
151
152 In the following printed representations, braces actually
153 appear as part of the printed representation and brackets are
154 used to denote optional parts of a printed representation. The
155 printed representations used by the mail system are:
156
157
158 Person_id.Project_id
159 identifies either a user's default mailbox --
160 >udd>Project_id>Person_id>Person_id.mbx
161 or a user's logbox --
162 >udd>Project_id>Person_id>Person_id.sv.mbx
163 Any use of this printed representation to create an address will
164 create an address referencing the specified user's default mailbox
165 rather than his logbox to insure that other users will never attempt
166 to send mail directly to his logbox. By default only the user can
167 add messages to his logbox. However, when constructing a message
168 for later delivery, the mail system will use the "logbox" format
169 described below to represent the user's logbox. This alternate
170 representation allows the user to distinguish between his mailboxes
171 in case he needs to change where his copy of the message will be
172 delivered.
173
174
175 logbox
176 appears only in the printed representation of messages being
177 prepared for delivery and identifies the user's logbox --
178 >udd>Project_id>Person_id>Person_id.sv.mbx
179 When the message is actually delivered, the printed representation
180 of this address will be converted to the "Person_id.Project_id"
181 format described above.
182
183
184 Person_id.Project_id STR.sv
185 identifies a savebox belonging to the specified user. STR is the
186 entryname of the savebox excluding the "sv.mbx" suffix. Any use of
187 this printed representation to create an address will create an
188 address referencing the specified user's default mailbox rather than
189 his savebox to insure that other users will never attempt to send
190 mail directly to his savebox. By default only the user can add
191 messages to one of his saveboxes. However, when constructing a
192 message for later delivery, the mail system will use the
193 "save path" format described below to represent one of the user's
194 saveboxes. This alternate representation allows the user to
195 distinguish between his mailboxes in case he needs to change where
196 his copy of the message will be delivered.
197
198
199 save path
200 appears only in the printed representation of a message being
201 prepared for subsequent delivery and identifies a savebox. Path is
202 the absolute pathname of the savebox excluding the "sv.mbx" suffix.
203 When the message is actually delivered, the printed representation
204 of this address will be converted to the
205 "Person_id.Project_id STR.sv" format described above.
206 mbx path
207 identifies an arbitrary mailbox by pathname. Path is the absolute
208 pathname of the mailbox excluding the "mbx" suffix.
209 forum path
210 identifies a Forum meeting by pathname. Path is the absolute
211 pathname of the meeting excluding the "control" suffix.
212
213
214 STR at FSystem address-route
215 identifies an address on another computer system. STR identifies
216 the user or group of users to receive the message and is not
217 interpreted in any way by the local system. FSystem is the name of
218 the foreign system where the address is located. If the optional
219 address-route is not present, FSystem will be the primary name of
220 the foreign system as specified in the local system's network
221 information table NIT. However, if an address-route is specified,
222 the foreign system name does not have to be known to the local
223 system. See "Printed representation of an address route" below for
224 further information.
225 STR
226 identifies an entry in the system's mail table. STR is the name of
227 the mail table entry. The display_mailing_address command may be
228 used to display the actual address corresponding to this STR.
229
230
231 list path
232 identifies a mailing list by pathname. Path is the absolute
233 pathname of the mailing list segment or archive component excluding
234 the "mls" suffix.
235 STR: ADDRs;
236 identifies a named group address. STR is the name of the group. If
237 present, ADDRs are the printed representations of the addresses
238 which comprise the group and are separated by commas.
239 invalid STR
240 identifies and invalid address. STR is the text of the invalid
241 address as it appeared in the original message or address list.
242
243
244 Printed representation of an address name:
245 When present, the address name is placed before the printed
246 representation of the address which is then enclosed in angle brackets
247 "<" and ">".
248
249 For example:
250 Site Administrators <list >udd>ssa>SiteSAs>
251 Gary M. Palter <Palter.Multics>
252
253
254 Printed representation of an address comment:
255 When present, the address comment is enclosed in parentheses and is
256 placed after the printed representation of the address.
257
258 For example:
259 Palter.Multics Gary M. Palter
260 Gary M. Palter <Palter.<Multics Mail system maintainer>
261
262
263 Printed representation of an address route:
264 The printed representation of an address route is:
265
266 via RelayN ... via Relay1
267 where Relay1 is the name of a foreign system in the local system's
268 network information table NIT and the remaining names, if any,
269 need not appear in the NIT. Mail directed to an address with this
270 address route will be forwarded to the system identified as Relay1.
271 From there, it will be forwarded to the system identified as Relay2,
272 etc. until it reaches the system identified as RelayN where it will
273 be delivered to the system on which the foreign address actually
274 resides.
275
276 For example, the printed representation of a foreign address with an
277 address route would be:
278 GMP at EECS.MIT via MC via MIT-MULTICS.ARPA
279
280
281 Special characters in printed representations:
282 If a STR, Person_id.Project_id, FSystem, or RelayI in one of the above
283 printed represetnations contains any commas, colons, semi-colons,
284 parentheses, angle brackets <>, braces , quotes ", commercial
285 at-signs @, or whitespace other than single sequences of a space, it
286 must be quoted to avoid ambiguity with other printed representations.
287 Such a string is quoted by surrounding it with quotes and then doubling
288 any quotes found within the string.
289
290 For example, the string
291 Richard "Rick" Kovalcik, Jr.
292
293 would be quoted as
294 "Richard ""Rick"" Kovalcik, Jr."
295
296
297 If a pathname in one of the above printed representations contains any
298 parentheses, braces , quotes ", or whitespace other than single
299 sequences of a space, it must be quoted as described above in order to
300 avoid ambiguity.
301
302 If the text of a comment contains any parentheses, quotes ", or
303 whitespace other than single sequences of a space, it must be quoted as
304 described above in order to avoid ambiguity.
305
306
307 List of control argument representations:
308 The control argument representation of an address is the sequence of
309 command/request line arguments and control arguments recognized by
310 the mail system in order to allow a user to specify one or more mail
311 system addresses on a command/request line.
312
313 The control argument sequences recognized by the mail system are:
314
315 -user STR
316 specifies either a user's default mailbox or an entry in the system
317 mail table. See "Notes on the -user address control argument" below
318 for more information.
319 -log
320 specifies the user's logbox and is equivalent to:
321 -mailbox >udd>Project_id>Person_id>Person_id.sv.mbx
322
323
324 -save path, -sv path
325 specifies the pathname of a savebox. The suffix "sv.mbx" is added if
326 necessary.
327 -mailbox path, -mbx path
328 specifies the pathname of a mailbox. The suffix "mbx" is added if
329 necessary.
330 -meeting path, -mtg path
331 specifies the pathname of a Forum meeting. The suffix "control" is
332 added if necessary. If the pathname given is just an entryname ie:
333 no "<" or ">" characters appear in the pathname, the "forum" search
334 path is used to find the meeting.
335 STR -at FSystem -via RelayN ... -via Relay1
336 specifies an address on another computer system. See "Notes on
337 the foreign address control argument representation" below for more
338 information.
339
340
341 -mailing_list path, -mls path
342 specifies the pathname of a mailing list. The suffix mls is added if
343 necessary. The archive component pathname convention is accepted.
344 For more information, type:
345 help mailing_lists.gi
346 STR
347 is any non-control argument interpreted by the mail system. If STR
348 contains either "<" or ">", it is interpreted as:
349 -mailbox STR
350 otherwise, it is interpreted as:
351 -user STR
352
353
354 -name STR, -nm STR
355 must appear immediately following one of the above forms of an address
356 and specifies the name of the address. An address name is usually the
357 full name of the person who receives mail at that address or, for
358 mailing lists, a description of the addresses comprising the mailing
359 list eg: Site Administrators.
360 -comment STR, -com STR
361 must appear immediately following one of the above forms of an address
362 and specifies a comment to be associated with that address. This
363 control argument is considered obsolete.
364
365
366 Notes on the -user address control argument:
367 As listed above, the "-user STR" address is used to specify either a
368 user's default mailbox of an entry in the system mail table. For more
369 information on the mail table, type:
370 help mail_table.gi
371
372
373 If the above STR contains exactly one period and no whitespace, it is
374 interpreted as a User_id which specifies a user's default mailbox;
375 otherwise, it is interpreted as the name of an entry in the mail table.
376
377 For example,
378 -user Sibert.SiteSA
379 is interpreted as a User_id which identifies a default mailbox. On the
380 other hand,
381 -user "Gary M. Palter"
382 -user J.C.Snead
383 are both interpreted as the names of entries in the mail table; the
384 first because it contains whitespace and the second because it contains
385 more than one period.
386
387
388 When interpreted as a User_id, the STR may not contain any angle
389 brackets <> and must have the form Person_id.Project_id where
390 Person_id may not exceed 28 characters in length and Project_id may not
391 exceed 32 characters in length. In this case, "-user STR" is
392 equivalent to the address
393 -mailbox >udd>Project_id>Person_id>Person_id.mbx
394
395 When interpreted as the name of a mail table entry, STR may not contain
396 any commas, colons, semi-colons, backslashes \, parentheses, angle
397 brackets <>, braces , quotes ", commercial at-signs @, or
398 whitespace other than spaces. The query of the mail table is performed
399 in a case insensitive manner. The display_mailing_address command may
400 be used to determine the actual address corresponding to the STR.
401
402
403 Notes on the foreign address control argument representation:
404 As listed above, "STR -at FSystem..." specifies an address on another
405 computer system.
406
407 STR identifies the user or group of users to receive the message and
408 is not interpreted in any way by the local system.
409
410 FSystem is the name of the foreign system where the address is located.
411 If the optional -via control arguments are not present, FSystem must be
412 one of the names of a foreign system in the local system's network
413 information table NIT. However, if the -via control arguments are
414 specified, the foreign system name does not need to be known to the
415 local system.
416
417
418 If the -via control arguments are specified, they identify an explicit
419 route to be used to reach the foreign system. In this case, Relay1
420 must be one of the names of a foreign system in the local system's NIT.
421 Mail destined for this foreign address will be forwarded to the system
422 identified as Relay1. From there, it will be forwarded to the system
423 identified as Relay2, etc. until it reaches the system identified as
424 RelayN where it will be delivered to the system on which the foreign
425 address actually resides.
426
427 When the NIT is queried for either FSystem or Relay1, the query will be
428 performed in a case insensitive manner.
429
430
431 For example, the address
432
433 GMP -at OZ -via MC -via mit-multics
434
435 identifies the address "GMP" on a system named "OZ". In order to send
436 mail to this address, it will be relayed from the local system to the
437 system known as "mit-multics" which must be a system listed in the
438 local NIT. "Mit-multics" will then forward the message to a system
439 named "MC" which will actually deliver the message to its final
440 destination.