03/22/88 send_mail, sdm Syntax as a command: sdm {addresses} {-control_args} Function: sends a message to one or more recipients. Arguments: addresses specifies the primary recipients of the message. By default, the message has no primary recipients. Control arguments: -abbrev, -ab enables abbreviation expansion of request lines. -abort prints an error message and returns to its caller immediately upon detecting an invalid address. An invalid address is either a sequence of arguments that cannot be converted into an address by sdm (e.g., missing arguments, bad pathname syntax) or a nonexistent address (e.g., a nonexistent mailbox, a foreign address on a host that cannot be reached from the local system). (Default) -acknowledge, -ack requests an acknowledgement from the recipients when they read the message. -auto_write specifies that the qedx request automatically updates the message when you quit the editor. -bcc addresses specifies a list of "blind" recipients of the message. "Blind" recipients are listed in the bcc field for the message header. When the message is transmitted, this field is not included in the copy of the message sent to the primary and secondary recipients; it is, however, included in the copy of the message sent to the actual "blind" recipients. By default, the message has no "blind" recipients. -brief, -bf shortens some informative messages and suppresses others. -cc {addresses} specifies the secondary recipients of the message. By default, the message has no secondary recipients. -debug, -db enables sdm's debugging facilities. It is not recommended for normal users of the command. -fill, -fi reformats the message text according to "fill-on" and "align-left" mode in compose. The message is reformatted after initial input is completed and after each execution of the qedx and apply requests. (Default for terminal input) -from {addresses} specifies the authors of the message. By default, the user issuing sdm is the sole author of the message. -input_file path, -if path takes the message text from the specified file rather than from the terminal. -line_length N, -ll N specifies the line length to use for filling the message text. (Default: 72) -long, -lg prints the long form of all informative messages. (Default) -no_abbrev, -nab does not enable abbreviation expansion of request lines. (Default) -no_abort prints an error message for any invalid addresses that are encountered on the command line but then proceeds to prompt for a subject and message text. After you type the message text, sdm enters its request loop to allow you to correct the lists of recipients before sending the message. -no_acknowledge, -nack does not request an acknowledgement. (Default) -no_auto_write specifies that the qedx request requires you to use the write request to update the message before quitting the editor. Any attempt to exit without writing results in a query. (Default) -no_debug, -ndb disables sdm's debugging facilities. (Default) -no_fill, -nfi does not reformat the message text unless you use the fill request or the -fill control argument of the qedx and apply requests. (Default for file input) -no_notify, -nnt does not send notification messages. -no_prompt suppresses the prompt for request lines in the request loop. -no_request_loop, -nrql sends the message immediately upon completion of input unless input was from the terminal and was terminated by "\f" or "\q". (Default for terminal input) -no_subject, -nsj specifies that the message has no subject. -notify, -nt sends a "You have mail." notification to each recipient of the message. (Default) -profile path, -pf path specifies the pathname of the profile to use for abbreviation expansion. The suffix profile is added if necessary. This control argument implies -abbrev. -prompt STR sets the request loop prompt to STR. (Default: ^/send_mail^[ (^d)^]:^2x) -reply_to {addresses}, -rpt {addresses} specifies the list of recipients who are to receive replies to the message instead of the message's authors. By default, the authors of the message receive the replies. -request STR, -rq STR executes STR as an sdm request line after reading the message text but before entering the request loop. This control argument implies -request_loop. -request_loop, -rql enters sdm's request loop after reading the message text. (Default for file input) -subject STR, -sj STR specifies the subject of the message. By default, sdm prompts you for the subject. -terminal_input, -ti accepts the message text from the terminal (see "Notes on Terminal Input" below). (Default) -to {addresses} specifies additional primary recipients of the message. List of addresses: -log specifies the user's logbox and is equivalent to -mailbox >udd>Project_id>Person_id>Person_id.mbx It is included as a "blind" recipient of the message. -mailbox path, -mbx path specifies the pathname of a mailbox. The suffix mbx is added if necessary. -mailing_list path, -mls path specifies the pathname of a mailing list. The suffix mls is added if necessary. You can use the archive component pathname convention. A mailing list is a list of addresses contained in a segment or archive component. -meeting path, -mtg path specifies the pathname of a Forum meeting. The suffix control or forum is added if necessary. If the pathname given is just an entryname (i.e., no < or > characters appear in the pathname), the forum search path is used to find the meeting. -save path, -sv path specifies the pathname of a savebox. The suffix sv.mbx is added if necessary. It is included as a "blind" recipient of the message. -user STR specifies either a user's default mailbox or an entry in the system mail table (see "Notes on the -user Address Control Argument" below). STR is any noncontrol argument. If STR contains either < or >, it is interpreted as -mailbox path; otherwise it is interpreted as -user STR. STR -at FSystem {-via RelayN...-via Relay1} specifies an address on another computer system (see "Notes on Foreign Address"). List of address qualifiers: -comment STR, -com STR must appear immediately following one of the above forms of an address and supplies additional descriptive information about the address such as the user's full name. It is considered obsolete. -name STR, -nm STR must appear immediately following one of the above forms of an address and specifies the name of the address. An address name is usually the full name of the person who receives mail at that address or, for mailing lists, a description of the addresses comprising the mailing list (e.g., site administrators). List of requests: In the following summary of sdm requests, "-ca" is used as shorthand for "-control_args". For a complete description of any request, issue the sdm request: help request_name . prints a line describing the current invocation of sdm. ? prints a list of requests available in sdm. abbrev {-ca}, ab {-ca} controls abbreviation processing of request lines. answer STR -ca request_line provides preset answers to questions asked by another request. append path, app path writes the ASCII representation of the message to the end of a segment. apply {-ca} cmd_line, ap {-ca} cmd_line passes the message text and header to a Multics command line for possible editing. bcc {addresses} prints or updates the list of "blind" recipients of the message. Blind recipients are listed in the bcc field for the message header. When the message is transmitted, this field is not included in the copy of the message sent to the primary and secondary recipients; it is, however, included in the copy of the message sent to the actual blind recipients. cc {addresses} prints or updates the list of secondary recipients of the message. copy path, cp path copies the message into the specified mailbox. debug_mode {-ca} enables/disables sends_mail's debugging facilities. do rq_str {args}, [do rq_str args] executes/returns a request line with argument substitution. exec_com ec_path {ec_args}, ec ec_path {ec_args}, [exec_com ec_path {ec_args}], [ec ec_path {ec_args}] executes a file of read_mail requests that can return a value. execute cmd_line, e cmd_line, [execute active_str], [e active_str] executes a Multics command line or evaluates a Multics active string. fill {-ca}, fi {-ca} reformats the text of the message. from {addresses} prints or updates the list of authors of the message. help {topics} {-ca} prints information about sdm requests and other topics. if expr -then line1 {-else line2}, [if expr -then STR1 {-else STR2}] conditionally executes/returns one of two request lines. list_help {topics}, lh {topics} displays the name of all sdm info segs on given topics. list_requests {STRs} {-ca}, lr {STRs} {-ca} prints a brief description of selected sdm requests. log places a copy of the message into the user's logbox. message_id, mid prints the unique identifier of the message and includes a Message ID field in the message. preface path, prf path writes the ASCII representation of the message to the beginning of a segment. print {-ca}, pr {-ca}, p {-ca} prints the message. print_header {-ca}, prhe {-ca} prints the header of the message. qedx {-ca}, qx {-ca} edits the message text and header using the Multics Qedx editor. quit {-ca}, q {-ca} exits sdm. ready, rdy prints a Multics ready message. ready_off, rdf disables printing of a ready message after each request line. ready_on, rdn enables printing of a ready message after each request line. remove {addresses} {-ca}, rm {adresses} {-ca} deletes addresses from the list of primary/secondary recipients, authors, or reply recipients and/or deletes the Subject, Message ID, and/or In Reply To field. reply_to {addresses}, rpt {addresses} prints or updates the list of recipients of any replies to this message. save path, sv path places a copy of the message into the specified save mailbox. send {addresses} {-ca} delivers the message. subject {STRs}, sj {STRs}, [subject], [sj] prints, changes, or returns the subject of the message. subsystem_name, [subsystem_name] prints/returns the name of this subsystem subystem_version, [subsystem_version] prints/returns the version number of this subsystem. to {addresses} prints or updates the list of primary recipients of the message. write path {-ca}, w path {-ca} writes the ASCII representation of the message to the end of a segment. List of reply requests: You can use the following requests only within an invocation of sdm that is created using the read_mail reply request. In this summary, "specs" is short for "message_specifiers" and "-c/sa" is short for "-control_args -selection_args". in_reply_to {specs}, irt {specs} prints or changes the content of the message's In Reply To field. list_original {specs} {-c/sa}, lso {specs} {-c/sa}, [list_original {specs} {-c/sa}], [lso {specs} {-c/sa}] displays a summary of the messages being answered or returns their message numbers. log_original {specs} {-ca}, logo {specs} {-ca} places a copy of the messages being answered into the user's logbox. print_original {specs} {-c/sa}, pro {specs} {-c/sa} prints the messages being answered. print_original_header {specs} {-c/sa}, prohe {specs} {-c/sa} prints the message headers of the messages being answered. save_original {specs} path {-ca}, svo {specs} path {-ca} places a copy of the messages being answered into a save mailbox. write_original {specs} path {-ca}, wo {specs} path {-ca} writes the ASCII representation of the messages being answered to the end of a segment. Notes on the -user address control argument: A user's default mailbox is specified in the form Person_id.Project_id. For an entry in the mail table, STR is usually in the form of Person_id (the mail table is fully described in the "Extended Mail System User's Guide, CH23". If STR contains one period and no white space, it is interpreted as a User_id that specifies the user's default mailbox; otherwise it is interpreted as the name of an entry in the mail table. For example; -user DBuxtehude.SiteSA is interpreted as a User_id that identifies a default mailbox. On the other hand, -user "George G. Byron" -user L.v.Beethoven -user Burns are all interpreted as the names of entries in the mail table; the first because it contains white space; the second because it contains more than one period; the third because it contains no period. When interpreted as a User_id, the STR cannot contain any angle brackets (<>) and must have the form Person_id.Project_id, where "Person_id" cannot exceed 28 characters in length and "Project_id" is limited to 32 characters. In this case, "-user STR" is equivalent to the address -mailbox >udd>Project_id>Person_id>Person_id.mbx. When interpreted as the name of a mail table entry, STR cannot contain any commas, colons, semicolons, backslashes (\), parentheses, angle brackets, braces ({}), quotes, commercial at-signs (@), or white space other than spaces. The query of the mail table is performed in a case-insensitive manner. The display_mailing_address command can be used to determine the actual address corresponding to the STR. Notes on foreign address: STR identifies the user (or group of users) to receive the message and is not interpreted in any way by the local system. FSystem is the name of the foreign system where the address is located. If you don't give the -via control arguments, FSystem must be one of the names of a foreign system in the local system's network information table (NIT); if you give them, however, the foreign system name need not be known to the local system. The -via control arguments identify an explicit route to be used to reach the foreign system. Relay1 must be one of the names of a foreign system in the local system's NIT. Mail destined for this foreign address is forwarded to the system identified as Relay1, then to the system identified as Relay2, and so on until it reaches the system identified as RelayN where it is delivered to the system on which the foreign address actually resides. When the NIT is queried for either FSystem or Relay1, the query is performed in a case-insensitive manner. For example, the address HDT -at OZ -via MC -via mit-multics identifies the address HDT on a system named OZ. The local system relays mail sent to this address to the system mit-multics, which then forwards the mail to a system named MC, which actually delivers the mail to its final destination. Notes on terminal input: By default or if you give -terminal_input, sdm issues the prompt "Message:" and reads the message text from the terminal. If you terminate the text with a line containing just a period, sdm reformats the message (unless you provide -no_fill on the command line) and sends it to the specified recipients (unless you also give -request or -request_loop on the command line). If any errors occur while sending the message, sdm enters its request loop to allow you to correct the problem. If you terminate the text with a line containing "\f" anywhere on the line, the command enters the qedx editor on the message text. Any characters on the line after the "\f" are treated as qedx requests. (See "Notes on the qedx Editor" below.) If you terminate the text with a line containing "\q" anywhere on the line, sdm reformats the message, unless you supply -no_fill on the command line, and enters its request loop. Any characters on the line after the "\q" are ignored with a warning message. Notes on the qedx editor: You can invoke the qedx editor either by the "qedx" request in the sdm request loop or by terminating a message being input with "\f". Any requests typed are processed as qedx requests until you enter the qedx "q" (quit) request and you are returned to sdm's request loop. Use the "w" (write) request to reflect any changes made to the message text. If you issue the "q" request and you have modified the message since it was last written, qedx queries for permission to exit; if permission is given, any changes made since the last write are lost. You can use the "qf" (quit-force) request to abort unwanted editing of the message without being queried. The request line 1,$dr only restores the original message text to the buffer if you have not yet used the write request, but it restores the message text as saved by the last write request in the buffer if you give it after a write request. Type "help qedx" within sdm for more information on the qedx request. Notes on addresses on the send_mail command line: Successive uses of -from, -cc, -reply_to, and -to do not override previous uses; instead, the addresses specified in the multiple uses are merged to form the actual list. For example, sdm DErasmus.Multics -from JJRousseau.PDO -to BShields.Multics sends the message from JJRousseau.PDO to DErasmus.Multics and BShields.Multics. ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved