1 10/10/83  read_mail, rdm
  2 
  3 Syntax:  rdm {mbx_specification} {-control_args}
  4 
  5 
  6 Function:  selectively lists, prints, deletes, saves and forwards
  7 messages and mail sent to a mailbox.
  8 
  9 
 10 Arguments:
 11 mbx_specification
 12    specifies the mailbox to be exmained.  If not given, the user's
 13    default mailbox (>udd>Project>Person>Person.mbx) is used.
 14 
 15 
 16 List of mbx_specifications:
 17 -mailbox path, -mbx path
 18    specifies the pathname of a mailbox.  The suffix "mbx" is added if
 19    necessary.
 20 -user STR
 21    specifies either a user's default mailbox or an entry in the system
 22    mail table.  See "Notes on mailbox selection by user" below for more
 23    information.
 24 -save path, -sv path
 25    specifies the pathname of a savebox.  The suffix "sv.mbx" is added
 26    if necessary.
 27 -log
 28    specifies the user's logbox and is equivalent to:
 29          -mailbox >udd>Project_id>Person_id>Person_id.sv.mbx
 30 
 31 
 32 STR
 33    is any non-control argument and is first interpreted as:
 34          -mailbox STR
 35    if no mailbox is found, this specification is then interpreted as:
 36          -save STR
 37    if no savebox is found, this specification is then interpreted as:
 38          -user STR
 39 
 40 
 41 Control arguments:
 42 -interactive_messages, -im
 43    specifies that read_mail should process interactive messages in the
 44    mailbox.
 45 -no_interactive_messages, -nim
 46    specifies that read_mail should not process interactive messages.
 47    Use of this control argument is incompatible with -no_mail.
 48    (Default)
 49 -mail, -ml
 50    specifies that read_mail should process ordinary messages in the
 51    mailbox.  (Default)
 52 -no_mail, -nml
 53    specifies that read_mail should not process ordinary messages.  Use
 54    of this control argument is incompatible with -nim.
 55 
 56 
 57 -accessible, -acc
 58    specifies that read_mail should only select those messages in the
 59    mailbox that the user is permitted to read.  If the user has read
 60    (r) extended access on the mailbox, read_mail will select all
 61    messages in the mailbox; if the user has own (o) extended access on
 62    the mailbox, read_mail will select only those messages which the
 63    user sent to the mailbox.  (Default)
 64 -all, -a
 65    specifies that read_mail should select all messages in the mailbox
 66    regardless of who sent them.  Use of this control argument requires
 67    read (r) extended access on the mailbox.
 68 
 69 
 70 -own
 71    specifies that read_mail should select only those messages in the
 72    mailbox that the user himself sent to the mailbox.  Use of this
 73    control argument requires own (o) extended access on the mailbox.
 74 -not_own
 75    specifies that read_mail should select only those messages in the
 76    mailbox that were not sent by the user.  Use of this control
 77    argument requires read (r) extended access on the mailbox.
 78 -count, -ct
 79    prints the number of messages being read before entering the request
 80    loop.  (Default)
 81 -no_count, -nct
 82    does not print the message count.
 83 
 84 
 85 -totals, -tt
 86    prints the number of the messages in the mailbox and exits without
 87    entering the request loop.  This control argument is incompatible
 88    with -print, -list, -request, and -quit.
 89 -request_loop, -rql
 90    enters the read_mail request loop even if there are no messages
 91    in the mailbox.
 92 -no_request_loop, -nrql
 93    does not enter the request loop if there are no messages in the
 94    mailbox.  (Default)
 95 -list, -ls
 96    lists the messages in the mailbox before entering the request loop.
 97 -no_list, -nls
 98    does not list the messages before entering request loop.  (Default)
 99 
100 
101 -print, -pr
102    prints all messages in the mailbox before entering the request loop.
103 -no_print, -npr
104    does not the print messages before entering request loop.  (Default)
105 -request STR, -rq STR
106    executes STR as a read_mail request line before entering the
107    request loop.
108 -quit
109    exits read_mail after performing any operations given by the -list,
110    -print, or -request control arguments; this control argument must be
111    given in combination with one of those.
112 -acknowledge, -ack
113    acknowledges messages which request acknowledgement.  (Default)
114 -no_acknowledge, -nack
115    does not acknowledge messages which request acknowledgement.
116 
117 
118 -brief, -bf
119    shortens some informative messages and suppresses others.
120 -long, -lg
121    prints the long form of all informative messages.  (Default)
122 -abbrev, -ab
123    enables abbreviation expansion of request lines.
124 -no_abbrev, -nab
125    does not enable abbreviation expansion of request lines.  (Default)
126 -profile path, -pf path
127    specifies the pathname of the profile to use for abbreviation
128    expansion.  The suffix "profile" is added if necessary.  This
129    control argument implies -abbrev.
130 
131 
132 -prompt STR, -pmt STR
133    sets the request loop prompt to STR.  The default is:
134          ^/read_mail^[ (^d)^]:^2x
135 -no_prompt, -npmt
136    suppresses the prompt for request lines in the request loop.
137 -debug, -db
138    enables read_mail's debugging facilities.  Use of this control
139    argument is not recommended for normal users of read_mail.
140 -no_debug, -ndb
141    disables read_mail's debugging facilities.  (Default)
142 
143 
144 Notes on mailbox selection by user:
145 As listed above, the "-user STR" mbx_specification is used to select
146 either a user's default mailbox or the mailbox identified by an entry
147 in the system wide mail table.  For more information on the mail table,
148 type:
149      help mail_table.gi
150 
151 
152 If the above STR contains exactly one period and no whitespace, it is
153 interpreted as a User_id which specifies a user's default mailbox;
154 otherwise, it is interpreted as the name of an entry in the mail table.
155 
156 For example,
157      -user Sibert.SiteSA
158 is interpreted as a User_id which identifies a default mailbox.  On the
159 other hand,
160      -user "Gary M. Palter"
161      -user J.C.Snead
162 are both interpreted as the names of entries in the mail table; the
163 first because it contains whitespace and the second because it contains
164 more than one period.
165 
166 
167 When interpreted as a User_id, the STR may not contain any angle
168 brackets (<>) and must have the form Person_id.Project_id where
169 Person_id may not exceed 28 characters in length and Project_id may not
170 exceed 32 characters in length.  In this case, "-user STR" is
171 equivalent to the mbx_specification
172      -mailbox >udd>Project_id>Person_id>Person_id.mbx
173 
174 When interpreted as the name of a mail table entry, STR may not contain
175 any commas, colons, semi-colons, backslashes (\), parentheses, angle
176 brackets (<>), braces ({}), quotes ("), commercial at-signs (@), or
177 whitespace other than spaces.  The query of the mail table is performed
178 in a case insensitive manner.  The display_mailing_address command may
179 be used to determine the actual address corresponding to the STR.  The
180 address in the mail table must identify a mailbox.
181 
182 
183 Notes on control arguments affecting individual requests:
184 Control arguments may be specified on the read_mail command line to
185 change the default behavior of individual requests.  Use of these
186 control arguments on the command line is identical to specifying them
187 for each use of the particular request.  Of course, the modified
188 default behavior of a request may be overriden for individual uses of
189 the request by use of the appropriate control argument.
190 
191 Type:
192    help request_name
193 within read_mail for more detail on the effect of the following control
194 arguments.
195 
196 
197 List of control arguments affecting the print request:
198 -long_header, -lghe
199    specifies that the print request is to display all information from
200    the message header including network tracing information even if
201    some of the information is redundant.
202 -header, -he
203    specifies that the print request is to display all information from
204    the message header including user-defined fields while excluding the
205    message trace and redundant information.  (Default)
206 -brief_header, -bfhe
207    specifies that the print request is to display the minimal amount of
208    information from the message header.
209 -no_header, -nhe
210    specifies that print request is to display absolutely no information
211    from the message header.  Only the message number, message body line
212    count, and message body will be displayed.
213 
214 
215 List of control arguments affecting the reply request:
216 -include_authors, -iat
217    includes the author(s) of the message as recipients of the reply.
218    (Default)
219 -no_include_authors, -niat
220    does not include the author(s) of the message as recipients of the
221    reply.
222 -include_recipients, -irc
223    includes the recipients of the message as recipients of the reply.
224 -no_include_recipients, -nirc
225    does not include the recipients of the message as recipients of the
226    reply.  (Default)
227 
228 
229 -include_self, -is
230    allows the user of read_mail to be a recipient of the reply without
231    explicit use of -to or -cc.
232 -no_include_self, -nis
233    does not include the user of read_mail as a recipient of the reply
234    unless explicitly requested via -to or -cc.  (Default)
235 -include_original, -io
236    includes the original message as part of the text of the reply.
237 -no_include_original, -nio
238    does not put the original message into the reply's text.  (Default)
239 -indent N, -ind N
240    indents the original message when -include_original is specified.
241    (Default -- 4)
242 
243 
244 -fill, -fi
245    causes the reply message to be filled before transmission.
246    (Default for -terminal_input)
247 -no_fill, -nfi
248    causes the reply message to not be filled before transmission.
249    (Default for -input_file)
250 -line_length N, -ll N
251    specifies the line length used when filling the reply message.
252    (Default -- 72)
253 
254 
255 Notes:
256 Messages are not actually deleted until read_mail is exited via the
257 quit request.  While within read_mail, messages which are accidently
258 marked for deletion can be restored by using the retrieve request.
259 
260 For a description of the message specifiers, selection control
261 arguments, and addresses used by the individual read_mail requests,
262 type:
263       help message_specifiers.gi
264       help selection_control_args.gi
265       help addresses.gi -section control argument
266 within the read_mail request loop.
267 
268 
269 List of requests:
270    In the following summary of read_mail requests, "spec" is used as
271    shorthand for "message_specifier", "-selca" is used as shorthand for
272    "-selection_args" and "-ca" is used as shorthand for "-control_args".
273    For a complete description of any request, issue the read_mail
274    request:
275          help request_name
276 
277 
278 .  prints a line describing the current invocation of read_mail.
279 ?  prints a list of requests available in read_mail.
280 abbrev {-ca}, ab {-ca}
281    controls abbreviation processing of request lines.
282 all -ca, [all -ca]
283    prints/returns the message numbers of all messages of the specified
284    type in the mailbox.
285 answer STR -ca request_line
286    provides preset answers to questions asked by another request.
287 append {specs} path -ca, app {specs} path -ca
288    writes the ASCII representation of the specified messages to the end
289    of a segment.
290 apply {specs} {-ca} cmd_line, ap {specs} {-ca} cmd_line
291    executes a Multics command line on the ASCII form of the messages.
292 
293 
294 copy {specs} path {-ca}
295    copies the specified messages into another mailbox.
296 current, c, [current], [c]
297    prints/returns the current message number.
298 debug_mode {-ca}
299    enables/disables read_mail's debugging facilities.
300 delete {specs} {-ca} {-selca},
301 dl {specs} {-ca} {-selca},
302 d {specs} {-ca} {-selca}
303    deletes the specified messages.
304 do rq_str {args}, [do rq_str args]
305    executes/returns a request line with argument substitution.
306 
307 
308 exec_com ec_path {ec_args},
309 ec ec_path {ec_args},
310 [exec_com ec_path {ec_args}],
311 [ec ec_path {ec_args}]
312    executes a file of read_mail requests which may return a value.
313 execute cmd_line,
314 e cmd_line,
315 [execute active_str],
316 [e active_str]
317    executes a Multics command line/evaluates a Multics active string.
318 first -ca, f -ca, [first -ca], [f -ca]
319    prints/returns the message number of the first message of the
320    specified type in the mailbox.
321 
322 
323 forward {spec} {addresses} {-ca},
324 fwd {spec} {addresses} {-ca},
325 for {spec} {addresses} {-ca}
326    forwards the specified message to the specified recipients.
327 help {topics} {-ca}
328    prints information about read_mail requests and other topics.
329 if expr -then line1 {-else line2},
330 [if expr -then STR1 {-else STR2}]
331    conditionally executes/returns one of two request lines.
332 last {-ca}, l {-ca}, [last {-ca}], [l {-ca}]
333    prints/returns the message number of the last message of the
334    specified type in the mailbox.
335 
336 
337 list {specs} {-ca} {-selca},
338 ls {specs} {-ca} {-selca},
339 [list {specs} {-ca} {-selca}],
340 [ls {specs} {-ca} {-selca}]
341    displays a summary of the selected messages or returns their message
342    numbers.
343 list_help {topics}, lh {topics}
344    displays the name of all read_mail info segments on given topics.
345 list_requests {STRs} {-ca}, lr {STRs} {-ca}
346    prints a brief description of selected read_mail requests.
347 log {specs} {-ca}
348    places a copy of the specified messages into the user's logbox.
349 mailbox, mbx, [mailbox], [mbx]
350    prints/returns the absolute pathname of the mailbox being read.
351 
352 
353 next {-ca}, [next {-ca}]
354    prints/returns the message number of the first message of the
355    specified type after the current message.
356 preface {specs} pathname {-ca}, prf {specs} pathname {-ca}
357    writes the ASCII representations of the specified messages to the
358    beginning of a segment.
359 previous {-ca}, [previous {-ca}]
360    prints/returns the message number of the last message of the
361    specified type before the current message.
362 print {specs} {-ca} {-selca},
363 pr {specs} {-ca} {-selca},
364 p {specs} {-ca} {-selca}
365    prints the specified messages.
366 print_header {specs} {-ca} {-selca}, prhe {specs} {-ca} {-selca}
367    prints the specified messages' headers.
368 
369 
370 quit {-ca}, q {-ca}
371    exits read_mail.
372 ready, rdy
373    prints a Multics ready message.
374 ready_off, rdf
375    disables printing of a ready message after each request line.
376 ready_on, rdn
377    enables printing of a ready message after each request line.
378 reply {specs} {-ca} {addresses},
379 rp {specs} {-ca} {addresses}
380    creates a send_mail invocation to answer the specified messages.
381 retrieve {specs} {-selca}, rt {specs} {-selca}
382    retrieves the specified deleted messages.
383 save {specs} path {-ca}, sv {specs} path {-ca}
384    places a copy of the specified messages into a save mailbox.
385 
386 
387 subsystem_name, [subsystem_name]
388    prints/returns the name of this subsystem
389 subystem_version, [subsystem_version]
390    prints/returns the version number of this subsystem.
391 write {specs} path {-ca}, w {specs} path {-ca}
392    writes the ASCII representation of the specified messages to the end
393    of a segment.