1 03/22/88  send_mail, sdm
  2 
  3 Syntax as a command:  sdm {addresses} {-control_args}
  4 
  5 
  6 Function:  sends a message to one or more recipients.
  7 
  8 
  9 Arguments:
 10 addresses
 11    specifies the primary recipients of the message.  By default, the
 12    message has no primary recipients.
 13 
 14 
 15 Control arguments:
 16 -abbrev, -ab
 17    enables abbreviation expansion of request lines.
 18 -abort
 19    prints an error message and returns to its caller immediately upon
 20    detecting an invalid address.  An invalid address is either a
 21    sequence of arguments that cannot be converted into an address by
 22    sdm (e.g., missing arguments, bad pathname syntax) or a nonexistent
 23    address (e.g., a nonexistent mailbox, a foreign address on a host
 24    that cannot be reached from the local system).  (Default)
 25 -acknowledge, -ack
 26    requests an acknowledgement from the recipients when they read the
 27    message.
 28 
 29 
 30 -auto_write
 31    specifies that the qedx request automatically updates the message
 32    when you quit the editor.
 33 -bcc addresses
 34    specifies a list of "blind" recipients of the message.  "Blind"
 35    recipients are listed in the bcc field for the message header.  When
 36    the message is transmitted, this field is not included in the copy
 37    of the message sent to the primary and secondary recipients; it is,
 38    however, included in the copy of the message sent to the actual
 39    "blind" recipients.  By default, the message has no "blind"
 40    recipients.
 41 -brief, -bf
 42    shortens some informative messages and suppresses others.
 43 
 44 
 45 -cc {addresses}
 46    specifies the secondary recipients of the message.  By default, the
 47    message has no secondary recipients.
 48 -debug, -db
 49    enables sdm's debugging facilities.  It is not recommended for
 50    normal users of the command.
 51 -fill, -fi
 52    reformats the message text according to "fill-on" and "align-left"
 53    mode in compose.  The message is reformatted after initial input is
 54    completed and after each execution of the qedx and apply requests.
 55    (Default for terminal input)
 56 -from {addresses}
 57    specifies the authors of the message.  By default, the user issuing
 58    sdm is the sole author of the message.
 59 
 60 
 61 -input_file path, -if path
 62    takes the message text from the specified file rather than from the
 63    terminal.
 64 -line_length N, -ll N
 65    specifies the line length to use for filling the message text.
 66    (Default:  72)
 67 -long, -lg
 68    prints the long form of all informative messages.  (Default)
 69 -no_abbrev, -nab
 70    does not enable abbreviation expansion of request lines.  (Default)
 71 
 72 
 73 -no_abort
 74    prints an error message for any invalid addresses that are
 75    encountered on the command line but then proceeds to prompt for a
 76    subject and message text.  After you type the message text, sdm
 77    enters its request loop to allow you to correct the lists of
 78    recipients before sending the message.
 79 -no_acknowledge, -nack
 80    does not request an acknowledgement.  (Default)
 81 -no_auto_write
 82    specifies that the qedx request requires you to use the write
 83    request to update the
 84    message before quitting the editor.  Any attempt to exit without
 85    writing results in a query.  (Default)
 86 -no_debug, -ndb
 87    disables sdm's debugging facilities.  (Default)
 88 
 89 
 90 -no_fill, -nfi
 91    does not reformat the message text unless you use the fill request
 92    or the -fill control argument of the qedx and apply requests.
 93    (Default for file input)
 94 -no_notify, -nnt
 95    does not send notification messages.
 96 -no_prompt
 97    suppresses the prompt for request lines in the request loop.
 98 -no_request_loop, -nrql
 99    sends the message immediately upon completion of input unless input
100    was from the terminal and was terminated by "\f" or "\q".  (Default
101    for terminal input)
102 -no_subject, -nsj
103    specifies that the message has no subject.
104 
105 
106 -notify, -nt
107    sends a "You have mail."  notification to each recipient of the
108    message.  (Default)
109 -profile path, -pf path
110    specifies the pathname of the profile to use for abbreviation
111    expansion.  The suffix profile is added if necessary.  This control
112    argument implies -abbrev.
113 -prompt STR
114    sets the request loop prompt to STR.  (Default:  ^/send_mail^[
115    (^d)^]:^2x)
116 -reply_to {addresses}, -rpt {addresses}
117    specifies the list of recipients who are to receive replies to the
118    message instead of the message's authors.  By default, the authors
119    of the message receive the replies.
120 
121 
122 -request STR, -rq STR
123    executes STR as an sdm request line after reading the message text
124    but before entering the request loop.  This control argument implies
125    -request_loop.
126 -request_loop, -rql
127    enters sdm's request loop after reading the message text.  (Default
128    for file input)
129 -subject STR, -sj STR
130    specifies the subject of the message.  By default, sdm prompts you
131    for the subject.
132 -terminal_input, -ti
133    accepts the message text from the terminal (see "Notes on Terminal
134    Input" below).  (Default)
135 -to {addresses}
136    specifies additional primary recipients of the message.
137 
138 
139 List of addresses:
140 -log
141    specifies the user's logbox and is equivalent to
142 
143          -mailbox >udd>Project_id>Person_id>Person_id.mbx
144 
145    It is included as a "blind" recipient of the message.
146 
147 -mailbox path, -mbx path
148    specifies the pathname of a mailbox.  The suffix mbx is added if
149    necessary.
150 -mailing_list path, -mls path
151    specifies the pathname of a mailing list.  The suffix mls is added
152    if necessary.  You can use the archive component pathname
153    convention.  A mailing list is a list of addresses contained in a
154    segment or archive component.
155 
156 
157 -meeting path, -mtg path
158    specifies the pathname of a Forum meeting.  The suffix control or
159    forum is added if necessary.  If the pathname given is just an
160    entryname (i.e., no < or > characters appear in the pathname), the
161    forum search path is used to find the meeting.
162 -save path, -sv path
163    specifies the pathname of a savebox.  The suffix sv.mbx is added if
164    necessary.  It is included as a "blind" recipient of the message.
165 -user STR
166    specifies either a user's default mailbox or an entry in the system
167    mail table (see "Notes on the -user Address Control Argument"
168    below).
169 
170 
171 STR
172    is any noncontrol argument.  If STR contains either < or >, it is
173    interpreted as -mailbox path; otherwise it is interpreted as -user
174    STR.
175 STR -at FSystem {-via RelayN...-via Relay1}
176    specifies an address on another computer system (see "Notes on
177    Foreign Address").
178 
179 
180 List of address qualifiers:
181 -comment STR, -com STR
182    must appear immediately following one of the above forms of an
183    address and supplies additional descriptive information about the
184    address such as the user's full name.  It is considered obsolete.
185 -name STR, -nm STR
186    must appear immediately following one of the above forms of an
187    address and specifies the name of the address.  An address name is
188    usually the full name of the person who receives mail at that
189    address or, for mailing lists, a description of the addresses
190    comprising the mailing list (e.g., site administrators).
191 
192 
193 List of requests:
194    In the following summary of sdm requests, "-ca" is used as shorthand
195    for "-control_args".  For a complete description of any request,
196    issue the sdm request:  help request_name
197 
198 .
199    prints a line describing the current invocation of sdm.
200 ?
201    prints a list of requests available in sdm.
202 abbrev {-ca}, ab {-ca}
203    controls abbreviation processing of request lines.
204 answer STR -ca request_line
205    provides preset answers to questions asked by another request.
206 
207 
208 append path, app path
209    writes the ASCII representation of the message to the end of a
210    segment.
211 apply {-ca} cmd_line, ap {-ca} cmd_line
212    passes the message text and header to a Multics command line for
213    possible editing.
214 bcc {addresses}
215    prints or updates the list of "blind" recipients of the message.
216    Blind recipients are listed in the bcc field for the message header.
217    When the message is transmitted, this field is not included in the
218    copy of the message sent to the primary and secondary recipients; it
219    is, however, included in the copy of the message sent to the actual
220    blind recipients.
221 
222 
223 cc {addresses}
224    prints or updates the list of secondary recipients of the message.
225 copy path, cp path
226    copies the message into the specified mailbox.
227 debug_mode {-ca}
228    enables/disables sends_mail's debugging facilities.
229 do rq_str {args}, [do rq_str args]
230    executes/returns a request line with argument substitution.
231 exec_com ec_path {ec_args},
232 ec ec_path {ec_args},
233 [exec_com ec_path {ec_args}],
234 [ec ec_path {ec_args}]
235    executes a file of read_mail requests that can return a value.
236 
237 
238 execute cmd_line,
239 e cmd_line,
240 [execute active_str],
241 [e active_str]
242    executes a Multics command line or evaluates a Multics active
243    string.
244 fill {-ca}, fi {-ca}
245    reformats the text of the message.
246 from {addresses}
247    prints or updates the list of authors of the message.
248 help {topics} {-ca}
249    prints information about sdm requests and other topics.
250 
251 
252 if expr -then line1 {-else line2},
253 [if expr -then STR1 {-else STR2}]
254    conditionally executes/returns one of two request lines.
255 list_help {topics}, lh {topics}
256    displays the name of all sdm info segs on given topics.
257 list_requests {STRs} {-ca}, lr {STRs} {-ca}
258    prints a brief description of selected sdm requests.
259 log
260    places a copy of the message into the user's logbox.
261 message_id, mid
262    prints the unique identifier of the message and includes a Message
263    ID field in the message.
264 preface path, prf path
265    writes the ASCII representation of the message to the beginning of a
266    segment.
267 
268 
269 print {-ca}, pr {-ca}, p {-ca}
270    prints the message.
271 print_header {-ca}, prhe {-ca}
272    prints the header of the message.
273 qedx {-ca}, qx {-ca}
274    edits the message text and header using the Multics Qedx editor.
275 quit {-ca}, q {-ca}
276    exits sdm.
277 ready, rdy
278    prints a Multics ready message.
279 ready_off, rdf
280    disables printing of a ready message after each request line.
281 ready_on, rdn
282    enables printing of a ready message after each request line.
283 
284 
285 remove {addresses} {-ca}, rm {adresses} {-ca}
286    deletes addresses from the list of primary/secondary recipients,
287    authors, or reply recipients and/or deletes the Subject, Message ID,
288    and/or In Reply To field.
289 reply_to {addresses}, rpt {addresses}
290    prints or updates the list of recipients of any replies to this
291    message.
292 save path, sv path
293    places a copy of the message into the specified save mailbox.
294 send {addresses} {-ca}
295    delivers the message.
296 subject {STRs}, sj {STRs}, [subject], [sj]
297    prints, changes, or returns the subject of the message.
298 subsystem_name, [subsystem_name]
299    prints/returns the name of this subsystem
300 
301 
302 subystem_version, [subsystem_version]
303    prints/returns the version number of this subsystem.
304 to {addresses}
305    prints or updates the list of primary recipients of the message.
306 write path {-ca}, w path {-ca}
307    writes the ASCII representation of the message to the end of a
308    segment.
309 
310 
311 List of reply requests:
312    You can use the following requests only within an invocation of sdm
313    that is created using the read_mail reply request.  In this summary,
314    "specs" is short for "message_specifiers" and "-c/sa" is short for
315    "-control_args -selection_args".
316 
317 in_reply_to {specs}, irt {specs}
318    prints or changes the content of the message's In Reply To field.
319 list_original {specs} {-c/sa}, lso {specs} {-c/sa},
320 [list_original {specs} {-c/sa}], [lso {specs} {-c/sa}]
321    displays a summary of the messages being answered or returns their
322    message numbers.
323 log_original {specs} {-ca}, logo {specs} {-ca}
324    places a copy of the messages being answered into the user's logbox.
325 
326 
327 print_original {specs} {-c/sa}, pro {specs} {-c/sa}
328    prints the messages being answered.
329 print_original_header {specs} {-c/sa}, prohe {specs} {-c/sa}
330    prints the message headers of the messages being answered.
331 save_original {specs} path {-ca}, svo {specs} path {-ca}
332    places a copy of the messages being answered into a save mailbox.
333 write_original {specs} path {-ca}, wo {specs} path {-ca}
334    writes the ASCII representation of the messages being answered to
335    the end of a segment.
336 
337 
338 Notes on the -user address control argument:
339 
340 A user's default mailbox is specified in the form Person_id.Project_id.
341 For an entry in the mail table, STR is usually in the form of Person_id
342 (the mail table is fully described in the "Extended Mail System User's
343 Guide, CH23".
344 
345 If STR contains one period and no white space, it is interpreted as a
346 User_id that specifies the user's default mailbox; otherwise it is
347 interpreted as the name of an entry in the mail table.
348 
349 
350 For example;
351 
352       -user DBuxtehude.SiteSA
353 
354 is interpreted as a User_id that identifies a default mailbox.  On the
355 other hand,
356 
357       -user "George G. Byron"
358       -user L.v.Beethoven
359       -user Burns
360 
361 are all interpreted as the names of entries in the mail table;  the
362 first because it contains white space; the second because it contains
363 more than one period; the third because it contains no period.
364 
365 
366 When interpreted as a User_id, the STR cannot contain any angle
367 brackets (<>) and must have the form Person_id.Project_id, where
368 "Person_id" cannot exceed 28 characters in length and "Project_id" is
369 limited to 32 characters.  In this case, "-user STR" is equivalent to
370 the address -mailbox >udd>Project_id>Person_id>Person_id.mbx.
371 
372 When interpreted as the name of a mail table entry, STR cannot contain
373 any commas, colons, semicolons, backslashes (\), parentheses, angle
374 brackets, braces ({}), quotes, commercial at-signs (@), or white space
375 other than spaces.  The query of the mail table is performed in a
376 case-insensitive manner.  The display_mailing_address command can be
377 used to determine the actual address corresponding to the STR.
378 
379 
380 Notes on foreign address:  STR identifies the user (or group of users)
381 to receive the message and is not interpreted in any way by the local
382 system.  FSystem is the name of the foreign system where the address is
383 located.
384 
385 If you don't give the -via control arguments, FSystem must be one of
386 the names of a foreign system in the local system's network information
387 table (NIT); if you give them, however, the foreign system name need
388 not be known to the local system.
389 
390 
391 The -via control arguments identify an explicit route to be used to
392 reach the foreign system.  Relay1 must be one of the names of a foreign
393 system in the local system's NIT.  Mail destined for this foreign
394 address is forwarded to the system identified as Relay1, then to the
395 system identified as Relay2, and so on until it reaches the system
396 identified as RelayN where it is delivered to the system on which the
397 foreign address actually resides.
398 
399 When the NIT is queried for either FSystem or Relay1, the query is
400 performed in a case-insensitive manner.
401 
402 
403 For example, the address
404 
405       HDT -at OZ -via MC -via mit-multics
406 
407 identifies the address HDT on a system named OZ.  The local system
408 relays mail sent to this address to the system mit-multics, which then
409 forwards the mail to a system named MC, which actually delivers the
410 mail to its final destination.
411 
412 
413 Notes on terminal input:  By default or if you give -terminal_input,
414 sdm issues the prompt "Message:" and reads the message text from the
415 terminal.
416 
417 If you terminate the text with a line containing just a period, sdm
418 reformats the message (unless you provide -no_fill on the command line)
419 and sends it to the specified recipients (unless you also give -request
420 or -request_loop on the command line).  If any errors occur while
421 sending the message, sdm enters its request loop to allow you to
422 correct the problem.
423 
424 
425 If you terminate the text with a line containing "\f" anywhere on the
426 line, the command enters the qedx editor on the message text.  Any
427 characters on the line after the "\f" are treated as qedx requests.
428 (See "Notes on the qedx Editor" below.)
429 
430 If you terminate the text with a line containing "\q" anywhere on the
431 line, sdm reformats the message, unless you supply -no_fill on the
432 command line, and enters its request loop.  Any characters on the line
433 after the "\q" are ignored with a warning message.
434 
435 
436 Notes on the qedx editor:
437 
438 You can invoke the qedx editor either by the "qedx" request in the sdm
439 request loop or by terminating a message being input with "\f".  Any
440 requests typed are processed as qedx requests until you enter the qedx
441 "q" (quit) request and you are returned to sdm's request loop.
442 
443 Use the "w" (write) request to reflect any changes made to the message
444 text.  If you issue the "q" request and you have modified the message
445 since it was last written, qedx queries for permission to exit; if
446 permission is given, any changes made since the last write are lost.
447 You can use the "qf" (quit-force) request to abort unwanted editing of
448 the message without being queried.
449 
450 
451 The request line
452 
453       1,$dr
454 
455 only restores the original message text to the buffer if you have not
456 yet used the write request, but it restores the message text as saved
457 by the last write request in the buffer if you give it after a write
458 request.
459 
460 Type "help qedx" within sdm for more information on the qedx request.
461 
462 
463 Notes on addresses on the send_mail command line:
464 
465 Successive uses of -from, -cc, -reply_to, and -to do not override
466 previous uses; instead, the addresses specified in the multiple uses
467 are merged to form the actual list.
468 
469 For example,
470 
471       sdm DErasmus.Multics -from JJRousseau.PDO -to BShields.Multics
472 
473 sends the message from JJRousseau.PDO to DErasmus.Multics and
474 BShields.Multics.
475 
476 
477