Version This help file reflects DECmail/MS version 11(2365), running under TOPS-10. The SHOW VERSION command will display MS's version number, GLXLIB's version number (GLXLIB is a subroutine library used by MS), and a list of optional features which the current version supports (such as networks). Introduction DECmail/MS is a product that provides facilities for sending and receiving messages, and for filing, retrieving, editing, and discarding these messages. This help file ex- plains how to use MS. MS is that part of DECmail/MS which provides a command-mode user interface; it is the only pro- gram that you actually communicate directly with (although there are other programs performing tasks invisibly in the background). MS is extensively tailorable to individual taste and styles of usage, and yet is easy for the novice or infrequent user to use. The structured HELP command makes it self-documenting. This file (MS.HLP) is separated into pages, one page per topic. The name of the topic appears on the first line of each page. This is how the HELP command in MS can select that part of the documentation pertaining to a single topic. o If this is your first exposure to TOPS-10, you should give the command HELP NOVICE first. o If you are familiar with TOPS-20-style command parsers (that is, you know about the functions of the ESC and ? keys), but not with electronic mail systems similar to MS, you should say HELP VOCABULARY and HELP COMMAND-LEVELS first. o If you are already familiar with TOPS-20-style command parsers and you have used other electronic mail systems before, you probably need only to type ? a lot and feel your way around. For all users, it is recommended that you read the documentation under HELP COMMAND-LEVELS before first using MS. Novice If you've gotten this far, you already know how to get into MS and how to use the HELP command. This section explains elementary usage of MS. But first, a little terminology. YOUR KEYBOARD The keyboard of the terminal you're using is almost exactly like that of a modern electric typewriter. The major difference is that there are a few new keys, and one or two with different meanings. CARRIAGE-RETURN or RETURN (sometimes called CR, RET, <ret>, or <return>) This key has the usual meaning of telling the terminal that you're done with the current line of text and wish to move on to the next line. It also indicates to MS that you're finished typing a command, and would now like MS to act upon the command. All MS commands must be finished with RETURN and MS will not act upon the command until you've pressed the RETURN key. ESCAPE (sometimes called ESC, or ALTMODE on older terminals) This key, usually found at the upper lefthand corner of the keyboard, performs a particularly useful function called RECOGNITION. Many M commands have long names, and to have to type the name out in entirety would become rather dreary. In order to save you some typing, MS will allow you to type only as much of the command name as is necessary to uniquely specify it. For example: suppose there are only three commands beginning with the letter T: TAKE, TAPE, and TWIST. If you typed only TA, MS cannot know whether you mean TAKE or TAPE, since both begin with TA. If, however, you type TW, MS knows you mean TWIST. Similarly, TAK could be a valid abbreviation for TAKE and TAP for TAPE. Using abbreviations at all times can save you typing, but can look rather cryptic. And you sometimes don't know how much of a command you need to type before MS will be able to recognize it, especially when you're just starting out. The ESCAPE key makes all this much easier. If you think you've typed enough of a command for MS to recognize, press the ESCAPE key. If you have typed enough of the name, MS will finish typing the name for you. If you haven't typed enough, so that what you have typed is ambiguous, MS will ring the terminal's bell. And if there are no commands beginning with the abbreviation you've typed, MS will tell you that. Returning to our previous example, where the only three commands beginning with the letter T were TAPE, TAKE, and TWIST, if you were to type TW and then press the ESCAPE key, MS would type the letters IST, to complete the word TWIST. Using recognition has one additional advantage: if the command whose name is being typed requires additional information, pressing the ESCAPE key will cause MS to type "guide words", in parentheses, which hint at what you are expected to type next. In our example, if you typed TW<ESC>, you might see this on your screen: MS>TWist (and shout) The words "and shout" are the guide words for the TWIST command. This example is a bit whimsical, but does illustrate how recognition and guide words act together to help lead you through the commands. CONTROL CHARACTERS Another key on your terminal which is not found on typewriter keyboards is the CONTROL key, which is usally labelled CTRL. This works much like the SHIFT key, in that it does nothing by itself, but modifies the action of any key you press while holding the CTRL key down. Characters typed while holding the CTRL key down are called CONTROL CHARACTERS; for instance, the character you generate when you hold the CTRL key down and type the letter A is called ctrl-A. The most useful control character to you right now is ctrl-Z. You use ctrl-Z to tell MS that you have finished typing the text of a message you're sending and that MS can now send the message. You would not want to use any ordinary text character for this purpose, because that text then would not be allowed in the text of a message you're sending. Since control characters don't ordinarily print anything on your screen, but simply instruct the system to do something for you, they are the only good way to type commands to the system while you're entering the text of a message. QUESTION MARK At any time, if you are not sure what commands or arguments MS has available, you can type a question mark and MS will list them all for you. This is very similar to "menu mode" in other systems, except that the menu is shown only when you request it by typing a question mark. For in- stance, when you first run MS, it prompts you by typing MS> and awaits your first command. This is called TOP LEVEL. At this point, to get a list of all the available top level commands, type a question mark, and they will be displayed. You give MS a command by typing the command's name, possibly followed by additional information (depending on the particular command), and then typing a RETURN. The additional information you supply is called the "arguments" to the command. If MS prompts you with anything other than MS> then you have entered another command level. The QUIT command always returns you to the previous level. This is the end of the NOVICE part of MS's documentation. We re- commend now that you skim the information under HELP COMMAND-LEVELS and HELP VOCABULARY; there is a lot of in- formation there, but for now just try to skim it once. Then try HELP SEND and HELP READ, and try sending yourself some mail. That should get you started. Vocabulary MESSAGE MS sends, receives, and files messages. These are exactly analagous to office memos; they are sent "To:" some people, and "cc:" to others. They have a subject, and some text. They also have a date, which is supplied automatically when you send the message. A message is composed of two parts: the "header area", at the top of the page in which a message occurs, contains things like the date, subject, to and cc lists, and other identifying information; the "text part" contains the actual text of the message. MESSAGE HEADER The first few lines of a message are called the header area, or message header. The header area is separated from the text of the message by a blank line. The header area consists of several "header-items". A header-item consists of the header-item's name, a colon, and then the data portion of the header-item (which may extend over more than one line). Typical header-items that MS always supplies in- clude the date the message was sent, the subject, to and cc lists, and the name of the sender. You may use the DEFINE HEADER-ITEM command to define your own header-items. Here is a sample message: Date: 12 Sep 86 1445-EST From: Larry Campbell <LCampbell@DEC-MARLBORO> To: Joe Newcomer@CMU-10A, Hurley@KL2102 cc: Fred the New Guy@MIT-XX, Engel@KL2102, Hall@KL2102, Purretta@KL2102, Another User@MIT-XX Subject: This is a test Hi! This is just a test of this system. This is the message text. ------- In this example, the first six lines, beginning with "Date:" and ending with "Subject:", are the header area. Next is a blank line, which separates the header area from the message text. Finally there are two lines of message text and the closing line, contain a string of hyphens. There are five header-items present in this message: "Date:", "From:", "To:", "cc:", and "Subject:". The "cc:" item in this message illustrates the case of a header-item which is too long to fit on one line. The strings DEC-MARLBORO, MIT-XX, KL2102, and CMU-10A are all the names of different computers in a network. To fully specify an address, you need both the user's name and the name of the computer that he or she uses. FILE A file is similar to the contents of an ordinary file folder. A file has a name, called a FILESPEC (short for file specification). Although a filespec can have up to four parts (the DEVICE, DIRECTORY, NAME, and EXTENSION), ordinarily you can ignore the device and directory and use only the name and extension. A file name or extension can consist of any sequence of uppercase letters and numbers up to six characters long; the extension can only be three characters long. For example, "MEMO1", "JULY", and "OPEN" are all valid names; "REPORTS" is not (contains seven cha- racters), and "JUL-81" is not (the hyphen is neither a letter nor a number). The extension is separated from the name by a dot, so that MAIL.TXT is a file whose name is MAIL and whose extension is TXT. For more information about filespecs, see the DECsystem-10 Operating System Commands Manual. MESSAGE FILE MS deals with message files, one at a time. A message file is simply a file containing one or more messages. MS can only handle one file at a time, but it is simple to put one file away and take another out to look at. Each message in a file has a MESSAGE NUMBER; the messages are numbered from one on up to however many messages there are in the file. CURRENT MESSAGE FILE Since MS can only handle one message file at a time, the one you are currently dealing with is called the current message file. You may think of MS as a desk which is only big enough to hold one file folder. MAIL FILE Every user has his or her own personal message file. This is exactly analogous to an in basket. All incoming messages go into your message file. It is called MAIL.TXT (the name is MAIL and the extension is TXT). USERNAMES You send messages to, and receive them from, users of a com- puter. Each user of a computer has a username, which is the name by which the computer knows that person. When sending to another TOPS-10 system, or a TOPS-20 system, usernames are composed of up to 39 characters of letters, digits, and hyphens. When sending to a system which does not run TOPS-10 or TOPS-20, the rules for forming usernames may be different. If you are sending to a user whose username con- tains characters not allowed in TOPS-10/TOPS-20 usernames (like parentheses, spaces, and the like), then you must en- close the username inside double quotes. ADDRESSES An address tells MS where to send a message. There are two kinds of address, depending on whether the person you are sending to uses the same computer that you do (LOCAL ADDRESS) or a different one (NETWORK ADDRESS, because their computer is connected to yours through a computer network). A local address is just a username. A network address has two parts: a username (just like a local user), and a HOST NAME, which names the computer that they use. For instance, somebody who uses a computer called HOST2 and who has a username of Joe would have a NETWORK ADDRESS of "Joe@HOST2". Command-levels MS has three command levels: top level, read level, and send level. Each command level has a different prompt, and each level has is own set of commands. TOP LEVEL, which is the level you see when you first run MS, has commands for dealing with message files as a whole, or for manipulating entire groups of messages at once. READ LEVEL operates after you have selected a message to read, and has commands for dealing with the current message (the default) along with any other message sequence. And SEND LEVEL contains commands for composing, editing, and filing drafts of mes- sages, and for finally sending the message once it is com- plete. At all levels, the QUIT command always returns you to the previous level; typing QUIT at top level causes MS to stop. When you first run MS, you are at top level. MS prompts you for a command by typing MS> The next command level you are likely to see is read level. It prompts you for a command by typing MS Read>> You enter read level by using the READ command. You give the READ command a message sequence, which tells MS which messages you want to read. It then types the first message in the sequence, and prompts you for a command. You may now type a command to do something with that message, or type carriage-return to go on to the next message. When there are no more messages to read, MS returns to top level. For more details on read level, give the command HELP READ. Most top level commands which act upon a message sequence are also available in read level. SEND LEVEL is sometimes invoked as part of the process of sending a message, or composing a message draft prior to sending it. Send level is invoked in one of the following four ways: 1) You ask MS to put you there, by typing an ESC while entering the text of a message you are sending; 2) You use the RETRIEVE DRAFT (q.v.) command to con- tinue working on a draft which you had previously saved with the SAVE DRAFT command (q.v.); 3) You use the RETRIEVE LAST-MESAGE (q.v.) command to retrieve the draft of the last message you sent; 4) MS puts you there automatically, because it encoun- tered some problem while sending a message. The send level prompt is: MS Send>> The commands available in send level allow you to modify any part of a message which you are in the process of sending. You can add or delete users to the "To:" or "cc:" lists, change the subject line, edit the text of the message, and so forth. If MS encounters any difficulties in sending the message, it will automatically put you into send level, so that you have a chance to fix the part of the message which caused the problem. At send level, you can return to the previous level without sending the message by giving the QUIT command, or you can give the SEND command, which sends the message and then returns to the previous command level. Message-sequence Most MS commands perform some action on one or more mes- sages. You need to tell MS which message or messages you want to act upon, and you do this with a MESSAGE SEQUENCE. A message sequence simply specifies a group of messages. The simplest sequence is a message number, or list of numbers. For instance, the following is a message sequence which specifies the first six messages in a file: 1,2,3,4,5,6 For example, to read the first six messages in a file, you might say: MS>read 1,2,3,4,5,6 A shorthand way to specify the same thing is "1:6". You can mix these: the message sequence "1:4,7:10" means the same as "1,2,3,4,7,8,9,10". You can also select messages based on their contents. For instance, the message sequence SUBJECT BUDGET selects all messages with the word "budget" in the subject. So the command: MS>read subject monthly would be used to read all messages with the word "monthly" in their subject. Similarly, MS>read first 9 would let you read the first 9 messages in your current mes- sage file. One particularly useful message sequence is called "same". This directs MS to use the same message se- quence that you used in your last command. For instance, suppose you want to delete all essages from a certain person named Jones. However, before deleting them you'd really like to check and be sure that they are all the mes- sages you think they are. To do this, you might give the command: MS>headers from Jones to get a one-line summary of each message from Jones. Once you're satisfied that you really want to delete all these messages, you could then say: MS>delete same Messages can be selected by date and time, using the SINCE and BEFORE keywords; by the SUBJECT, FROM and TO fields; by searching for words in the message text with the KEYWORD command; by message size with the SMALLER and LARGER commands; and so on. To get a complete list of all the possible ways to select messages, type a question mark when MS prompts you for a message sequence. Send The SEND command is used to compose and send a message. It prompts you for the required information, which includes "To:", "cc:" (which may be blank), and "Subject:". It then prompts you for the text of the message. When you have com- pleted the text of the message, type ctrl-Z, which will cause the message to be sent immediately. If, at some point while you are typing the text of the mes- sage, you realize that you've made a mistake, like omitting somebody from the "To:" list, you can easily correct it. Hit the ESC key. This will put you into send level, which prompts with "MS Send>>", and has several commands which you can use to alter the current draft of the message. Among these are the REMOVE command, which removes addresses from the "To:" or "cc:" list; the ERASE command, which erases entire fields in the header (like an entire cc list); and the TEXT command, which returns you to text mode so you can add text to the draft of the message. If you're at send level and decide that you really don't want to send the mes- sage after all, use the QUIT command, which will return you to the level from which you came. Otherwise, give the SEND command, which will send the message and then return you to the previous command level. Read The read command is used to read a sequence of messages. You specify a message sequence after the READ command, or you can just type READ, in which case you will be shown all the messages which you have not yet seen. For example, MS>read subject evaluations would be used to read all messages with the word "evaluations" in the subject field, while MS>read would be used to read all "new" (that is, not yet seen) mes- sages. After each message is displayed, MS is at read level and prompts with: MS Read>> In previous versions of MS, at read level, commands such as DELETE and READ only applied to the current (just displayed) message. That is still the default, but you can now give arguments to these commands, as if you were at top level. For example: MS READ>>DELETE FROM BRONSON You can also give the READ command, to branch off and read another entirely different sequence of messages before con- tinuing with the current sequence: MS READ>>READ FROM OLSEN After such a command, you will enter a recursive read level and read the messages you specified. Recursive read levels prompt with: MS READ(n) >> where n is the depth of recursion, a number that starts at 1 and increases by 1 every time you go one read level deeper. This tells you, for example, how many QUIT commands would be required to return to top level (since each Quit command backs up exactly one level). When you've finished reading all the messages you specified in the READ command, typing carriage-return to the "MS Read>>" prompt will return ou to the previous command level (this is usually top level). Reply The REPLY command allows you to send a reply to a message which you have received. MS determines from the message being replied to who the sender was, and thus who the reply should go to, so that you need not type in the name of the recipient. The reply command is available both at top level, where it takes a message sequence specifying which messages to reply to, and at read level, in which case it assumes that you wish to reply to the current message. There are two possible ways to reply to a message; the reply can be sent to the sender (only) of the message, or to the sender and to all recipients of the message as well. When using the reply command at top level, MS will first ask you "Reply message 1 to:", to which you reply either ALL or SENDER-ONLY. When using the reply command from read level, you can optionally follow the word REPLY with ALL or SENDER-ONLY; if you omit the second part MS will assume SENDER-ONLY. (You may change this, and many more assump- tions that MS makes as well, by using the SET commands (q.v.).) Once you have given the REPLY command, it works just like a SEND command, except that since it knows who to send the message to it doesn't ask for the "To:" or "cc:" lists. If you decide that you would like to change the "To:" or "cc:" lists, you can press the ESC key while entering the text of the message, which will put you at send level. You can then use the send level commands to edit the message. Forward The FORWARD command, available at both top level and read level, allows you to forward a message which you have received to another user. Its usage is straightforward; it prompts for the "To:" and "cc:" lists, just as the send command does. It does not prompt for the subject; instead it supplies the subject of the forwarded message. It then prompts you for text; this text is inserted nfront of the forwarded message. This is useful for adding your own comments about the forwarded message. Copy The COPY command, available from both top level and read level, places a copy of a message into a file. This is useful if you wish to collect a set of related messages into one place. The COPY command requires that you supply the name of the file in which to place the message. The message is appended to the file you name; the existing contents of the file are preserved. If the file does not exist, it is created. You may examine and manipulate the contents of message files which you create this way with the GET command (q.v.). Move The MOVE command, available from both top level and read level, allows you to move a message into a different file. It works exactly as if you had used the COPY command (q.v.) to copy the message into the other file, and then used the DELETE command to delete the message. Delete The DELETE command, available from both top level and read level, allows you to delete messages from the current mes- sage file. Messages which you delete don't disappear imme- diately, but are marked as deleted. They do not actually disappear until you give the EXPUNGE or EXIT command. If you accidentally delete a message which you really wish to keep, you may use the UNDELETE command to get it back, unless an expunge has occurred. Once you have expunged a message, you cannot get it back. Skim The SKIM command works just like READ but only types a header line for each message, not the whole message. The SKIM command permits recursive calls. The prompt will show the level of recursion that SKIM is currently in. Headers The HEADERS command, available from both top level and read level, gives you a one-line summary of each message specified. The line looks something like this: NFAD 12-Jul Fred@OFFICE-3 |This Monday's meeting (549 chars) The letters at the beginning of the line are called the mes- sage flags. Each letter has a meaning, and appears only when it applies. The letters' meanings are: F - the message is Flagged A - the message has been Answered D - the message is Deleted N - the message is New (that is, you haven't seen it yet) The next column is the date of the message. Next is the name of the user who sent the message, in this case, Fred@OFFICE-3. The next column, beginning at the vertical bar () character, is the subject of the message; if it is so long that it would run off the right margin, then it is truncated. And last, in parentheses, is the length of the message, in characters. If the message was sent by you (this can happen if you are saving your outgoing messages in your mail file, or if you explicitly sent a copy to yourself), instead of displaying the "From:" field in the third column, MS will display the "To:" field of the message, preceded by the word "To:". For example: NFAD 12-Jul To: Fred@OFFICE-3 |This Monday's meeting (549 chars) For information on saving your outgoing messages, give the command HELP SAVE. HEADERS and DIRECTORY perform the same function. Flag The FLAG command, available from both top level and read level, allows you to flag certain messages as important. You may wish, for instance, to read all your mail quickly, and flag the important messages, so that you can later come back and say READ FLAGGED, which will display all the flagged messages on your terminal. The UNFLAG command will turn off the flag on a message. Init-file An "init file" is a file which contains MS commands. These commands are executed by MS every time it starts up. This is useful for setting parameters (see the SET command description) and having them remembered permanently. You can create an init file either with an editor, or with the MS command CREATE-INIT-FILE. If you create the file with an editor, the file must be named MS.INI. For information on the CREATE-INIT command, give the command HELP CREATE-INIT. There may also be a default, system-wide init file for system-wide defaults and address lists. This file is called STD:MS.INI. When you begin a mail session, the system init file is processed after your own. If you do not have one, only the system init file is processed. Check Every time MS updates your message file, and every time it returns to the top-level prompt, it checks the current mes- sage file to see if any new messages have arrived. If new messages have arrived, MS notifies you by displaying a one-line summary of each new message. To force MS to check immediately for new messages, give the CHECK command. If new messages have arrived, MS will display the new state of the message file, along with a one-line summary of each new message. Get The GET command causes MS to read in a new message file. It expects, as an argument, the name of the message file you wish to read. Once MS reads the file, it will type a couple of lines of status information about the file. You can then use any of MS's top-level commands to manipulate the file. Save There are two SAVE commands: SAVE OUTGOING-MESSAGES and SAVE DRAFT. SAVE OUTGOING-MESSAGES This command allows you to keep a record of all messages which you send. It takes a filespec as an argument, and once this command has been given, every message which you send is copied into the file you named. You may examine the contents of this file by using the GET command (q.v.). This command is most commonly placed into an init-file (q.v.). SAVE DRAFT The SAVE DRAFT command, available only at send level, allows you to store a copy of the current draft which you are working on. The draft includes the "To:" and "cc:" lists, the subject, and the text of the message. You may then use the RETRIEVE DRAFT (q.v.) command to retrieve the draft and continue composing a message. The SAVE DRAFT command will leave you at send level; if you wish to send the draft as is, give the SEND command, and if you wish to quit send level without sending the draft, give the QUIT command. Blank This command clears your screen if you are on a video terminal and have not previously given a SET NO VIDEO-MODE command. Some people place this command into their init file (q.v.) so that when they enter MS for the first time, they start with a clear screen. Repair This command is only applicable to DECNET systems. It allows you to examine mail which has been returned to you as undeliverable by the network. It takes, as an argument, the numeric part of the .RPR file specification referred to in the Postmaster message sent to you. Once you have success- fully identified a dead letter to MS, the message is dis- played on your terminal and you are placed at send level. You may then use any of the send level commands to correct the problem with the message and try to send it again. Set The SET commands allow you to alter many of the assumptions which MS ordinarily makes on your behalf. They also allow you to customize MS's behavior, and make it more agreeable with your own particular style of usage. There are many SET commands, and they are all listed here alphabetically. In the following descriptions, words enclosed in square brackets denote optional words; for example: SET [NO] VIDEO-MODE This indicates that the word NO is optional. Words or phrases in lowercase, inside angle brackets, denote the name of an item which you must supply; for example: SET REPLY-TO <address list> means that instead of typing "<address-list>", you would actually type a list of addresses. And lists of items inside curly brackets, separated by vertical bars, denote a list of choices from which only one must be selected. For example: SET DEFAULT { REPLY-TO-ALL | REPLY-TO-SENDER-ONLY } means you would type either SET DEFAULT REPLY-TO-ALL or SET DEFAULT REPLY-TO-SENDER-ONLY. The available SET commands are: SET AUTO-EXPUNGE (ON) {ANY-EXIT | EXIT-COMMAND-ONLY | NEVER} Controls automatic expunging of deleted messages. The default is SET AUTO-EXPUNGE (ON) EXIT-COMMAND- ONLY. SET AUTO-FILL The command SET AUTO-FILL puts MS into auto-fill mode. This means that you can type messages without crlf's; MS will handle that automatically. SET [NO] BRIEF-ADDRESS-LIST-DISPLAY When brief-address-list-display is in effect, MS will not type the contents of address lists in mes- sages being displayed, but instead only the name of the address list. This makes reading messages which have been sent to very long address lists less tire- some. If a message contains a nested address list, only the name of the outermost list is displayed. SET CLOSING-TEXT The command SET CLOSING-TEXT allows you to predefine a line of text that will subsequently be sent at the end of each message. SET [NO] CONCISE-MODE Shortens some of the messages typed by MS; should only be set by experienced users. SET DEFAULT CC-LIST <address list> Causes the users named in the address list to be cc'ed on every outgoing message. SET DEFAULT DIRECTORY (TO) {CONNECTED-DIRECTORY |LOGGED-IN-DIRECTORY| <directory name> Sets the default directory into which created files go. For more information on directories, see the TOPS-10 Operating System Commands Manual. SET DEFAULT { REPLY-TO-SENDER-ONLY | REPLY-TO-ALL } Sets the default recipient list for the REPLY command. SET DEFAULT REPLY-TO-SENDER-ONLY will cause replies to go to the addressees named in the "Reply-to:" field of the message being replied to, or to the sender of the message, if no "Reply-to:" field exists. SET DEFAULT REPLY-TO-ALL will cause replies to also be sent to all users in the "To:" and "cc:" lists as well. SET EXPERIENCE-LEVEL Establishes you as either an expert or novice. Novices can use only the following commands: DELETE, EXIT, EXPUNGE, FILE, HEADERS, HELP, PRINT, READ, SEND, SET, SYSTEM-MESESAGES, UNDELETE. SET [NO] FORCE-DIRECTORY-LOOKUP When set, verifies local addresses in the TO: and CC: lists, and in address-list definitions. SET [NO] SUMMARY-ON-PRINTER-OUTPUT When set, causes the first page of any line printer listing of messages created by the PRINT command to contain a one-line summary summary of each message listed. This information is the same as that printed by the HEADERS command. SET [NO] SUMMARY-PERSONAL-NAME-ONLY When set, causes the HEADERS command to display only the personal name of each message, rather than the full "From:" or "To:" field. For messages without personal names, the entire field is displayed. SET [NO] INCLUDE-ME-IN-REPLIES Controls whether you receive copies of your replies to other users' messages. Has no effect if you have also given the command SET DEFAULT REPLY-TO-SENDER- ONLY. SET ONLY-HEADERS-SHOWN <header-name> [, <header-name>, ...] Restricts the amount of header information displayed by the READ and TYPE commands. If this command is given, only the headers named will be displayed. This is particularly useful on slow terminals when reading messages with large headers. For instance, SET ONLY-HEADERS-SHOWN to, subject, from will cause only the "To:", "Subject:", and "From:" fields to be shown. If you wish to temporarily override the effect of this command, the VERBOSE- TYPE command will show the entire message literally. A less restrictive, and somewhat more flexible, way of reducing the amount of header information dis- played is to use the SET SUPPRESSED-HEADERS command (q.v.). SET PERSONAL-NAME <your full name> Causes MS to add your real name to outgoing mail (in addition to your username). Bear in mind that certain special characters, including most punctua- tion characters, are allowed only inside quoted strings (text enclosed by double quotes). For a list of special characters, say HELP RFC822. SET [NO] REPLY-TO <address list> Allows you to cause replies which other users send to your messages to go to a different place than they ordinarily would. They cause the following line to be inserted into every message you send: Reply-to: <address list> When the recipient of such a message uses the REPLY command to compose a reply, the reply will go to the address(es) specified in the "Reply-to:" line, rather than to the sender of the message. SET [NO] SUPPRESSED-HEADERS <header-name>, <header-name>, ... This command takes, as an argument, a list of header-names separated by commas, and causes MS not to display the named header-items when displaying messages on your terminal. The SET ONLY-HEADERS- SHOWN command, which is stronger, will override the effect of this command. SET [NO] TEXT-SCROLL-REGION [(TO) <number> (LINES)] On terminals capable of defining scroll regions (for example, VT100 and VT200 series terminals), MS can, in read mode, scroll only the text of messages being displayed, while leaving the headers in place. If the header area of a message is too long, though, this results in an annoyingly small number of lines being used to display the message text. The SET TEXT-SCROLL-REGION command instructs MS to scroll the text of the message in this manner, but only if <number> lines are available in which to scroll the text. If the headers are so big as to not leave <number> lines available for text, then the headers are scrolled as well as the text. SET NO TEXT- SCROLL-REGION tells MS to display messages in the usual manner, without setting up a scroll region. This is the default behavior. SET [NO] TYPE-INITIAL-SUMMARY Controls whether, when MS starts up, it prints the initial lines of status information about your mes- sage file. This information is also printed by the SHOW STATUS command. SET [NO] VIDEO-MODE Turns on or off MS's video display features for video terminals. The default is SET VIDEO-MODE. Net-mail MS handles two kinds of mail: local mail, which goes to and from users of the same computer which you use, and network mail, which goes to and from users of other (remote) com- puters. Ordinarily, the only difference which is important to you is that when you send mail to remote users, you must identify the computer which they use, by adding the phrase "@NAME" to their username, where NAME is the name of the computer they use. When you send mail, it is not delivered immediately, but is queued for later transmission ("Mail queued for delivery by MX"). The system will send your mail almost immediately, though, if the destination host is accessible. That host is given fourteen days to become accessible. After that, the message is undeliverable. Bad-format Occasionally, a message file will get damaged, either by a bug in MS, a bug in the computer on which MS runs, or a hardware problem. If this happens, you will see one of the following messages from MS: ?File has bad format - last message has no size field ?File has bad format - cannot find start of last message ?File has bad format - message nn has no receive date If you give a HEADERS ALL command, you will most likely see some peculiar-looking headers; usually they will have no Subject, From, or Date field, and the length of the message will either be zero, or ridiculously large. MS can repair almost any kind of damage to a message file. First, make a copy of the damaged file using the COPY command. When MS creates a message file (with either COPY or MOVE), it always writes a correctly-formatted file. If the file being copied is damaged, MS is forced to make some assumptions about its format, but in all cases the new file is correctly formatted. Then use the GET command to read in the copy you've just made. You should get no error mes- sages, but you may still have some peculiar-looking headers. Read the messages with these headers, and if they contain only garbage, you can delete them. If they contain frag- ments of real messages, you may want to keep them, rather than lose the fragments. Once you have made a good copy of the damaged file, you should delete the contents of the damaged file to save space. Return to the damaged file (using the GET command), delete all the messages, and give the EXPUNGE command. If the damaged file was your mail file, be aware that your mail file is now empty (although you have a good copy of your old mail in another file). If you wish to put the good copy back into your mail file, use the GET command to get the good copy, then use the MOVE command to move all the messages back into your mail file. The filespec of a mail file is "MAIL.TXT"; Be sure to type it completely. This sequence of commands will look like: MS>get (messages from file) good-copy Last read: Monday, February 10, 1986 17:27-EST. 182 messages (206873 characters), in 81 disk pages. Message 166 flagged. MS>move (message sequence) all Into file: mail.txt 1:53 MS> In all cases, instances of damaged message files should be reported to the person responsible for running your com- puter, so that the cause can be eliminated. Retrieve There are two RETRIEVE commands: RETRIEVE DRAFT and RETRIEVE LAST-MESSAGE. RETRIEVE DRAFT This command, available only at top level, allows you to retrieve a draft you previously stored with the SAVE DRAFT (q.v.) command. It retrieves the draft, displays the draft on your terminal, and leaves you at send level. You may then give any of the send level commands to manipulate the draft; most commonly, you would give the TEXT command to add message text to the draft. RETRIEVE LAST-MESSAGE This command, available only at top level, allows you to re- cover a copy of the last message you sent, so that you may edit it and resend it. This is typically used when you have just sent a message, and then realized that you forgot to include someone in the address lists. This command will display the message and put you into send level. You may then use all the send level commands to add or delete users in the address lists, edit the text of the message, and send it again. This command does NOT retract mail; that is, if you have sent a message to someone and then changed your mind, this command does not remove the message from the recipient's mailbox. Once a message has been sent, it has been sent. What this command does is retrieves the draft of the message so you need not type it in again. Define The DEFINE command allows you to define extensions to MS's basic capabilities. You can define aliases for users, using the DEFINE ALIAS command. You can define named address lists, using the DEFINE ADDRESS-LIST command. And you can define new header-items, with the DEFINE HEADER-ITEM command. DEFINE ALIAS This command defines an alias for an address. This is useful when you have a long or non-mnemonic address to which you frequently send mail, or when you wish to refer to some- one by other than their real username. The command format is: MS>DEFINE ALIAS John (TO BE) Purretta@KL2102 This command will define the alias "John" to be the same as "Purretta@KL2102". You can now give the alias "John" in any address specification, such as a to or cc list, and MS will convert it to the full address for you. Aliases may also represent a list of addresses, as in: MS>DEFINE ALIAS Neffs (TO BE) LNeff@KL2102, DNeff@KL2116 To delete an alias definition, give the command DEFINE ALIAS <name>, where <name> is the name of the alias definition to be deleted. To delete all alias definitions, give the command DEFINE ALIAS *. DEFINE ADDRESS-LIST This command allows you to define named address lists. These behave almost exactly like aliases, with one excep- tion: the name of the address list is shown in the message. For example, if you defined the following address list: MS>DEFINE ADDRESS-LIST Task-force (TO BE) LCampbell, King, Jones, Dickson and then sent mail to "Task-force", the mail received would have a "To:" field looking like: To: Task-force: LCampbell, King, Jones, Dickson; System administrators may find this command useful in defining mailbox names which refer to subjects; for in- stance, rather than expecting users to know who maintains a particular program, the system administrator could put the following commands in the system MS.INIT (init file): DEFINE ADDRESS-LIST MS-Bugs LCampbell@2102 DEFINE ADDRESS-LIST EMACS-Bugs RMS@MIT-AI To delete an address-list definition, give the command DEFINE ADDRESS-LIST <name>, where <name> is the name of the address-list to be deleted. To delete all address-list de- finitions, give the command DEFINE ADDRESS-LIST *. DEFINE HEADER-ITEM This command allows users to define header-items. A header- item is a field which appears in the header portion of a message; that is, the portion before the first blank line. These fields consist of a keyword, a colon, and possibly some data. MS has six header-items built in to it: "To:", "Subject:", "Date:", "From:", "cc:", "In-reply-to:". The DEFINE HEADER-ITEM command allows you to define your own new header-items. To define a header-item, you must supply its name, its flavor, and its type. If you wish the data for the header- item to be predefined, you must enter that as well. Header-items come in three flavors: optional, predefined, and required. 1) An optional header-item is one which you may elect to include in an outgoing message, but which is not required. MS will not prompt you for it, so to in- clude it, you must ue the send-level command INCLUDE. 2) A predefined header-item is one whose data is defined in advance. MS will not prompt for it, but it will be included in all outgoing messages. An example of a predefined header-item might be your telephone number or postal address. 3) A required header-item is one whose data is not sup- plied in advance, and which must be supplied before sending any message. MS will prompt you for these header-items every time you send a message. Header-items also come in six types. These types are: ad- dress, date, date-and-time, time, text-string, and keyword. When defining a keyword header-item, you must supply a list of legal keywords for that header-item. Predefined keyword header-items don't make much sense, and are not allowed. Here is an example of defining your telephone number so that it is always included in messages you send: MS>DEFINE HEADER-ITEM Phone (TYPE) predefined text-string 475-6446 Message which you send will now look something like this: Date: 14-Jan-86 15:33 From: <your name> To: cc: note -> Phone: 475-6446 Subject: <subject> <text> ------- One possible use for keyword header-items is illustrated by the following example: MS>DEFINE HEADER-ITEM Priority REQUIRED KEYWORD urgent,high,medium,low To delete a header-item definition, just give the command DEFINE HEADER-ITEM <name>, where <name> is the name of the header-item. To delete all header-item definitions, give the command DEFINE HEADER-ITEM *. Show Available SHOW commands are: SHOW ALIASES Displays all currently defined aliases. SHOW ADDRESS-LISTS Displays all currently defined address-lists. SHOW DAYTIME Displays the current date and time. SHOW DEFAULTS Shows the defaults (assumptions which MS makes on your behalf) which are currently in effect. Each default is displayed by showing the exact command which would cause that default to be in effect. Most of the defaults shown by this command may be changed with the SET command (q.v.). SHOW HEADER-ITEMS Displays all currently-defined header-items and their types, and for predefined header-items dis- plays the currently defined value. SHOW STATUS Shows you the name and status of the current message file. This includes the number of messages in the file, the size of the file in disk blocks (each block contains 640 characters), the number of deleted messages, the number of unseen (new) mes- sages, the current message number, and a list of flagged messages. SHOW VERSION Displays the version of MS currently running, and a list of optional features which are supported by this version (such as network mail) Expunge The EXPUNGE command causes messages which have been marked for removal with the DELETE command to actually disappear. Until a message is expunged, you may get it back by using the UNDELETE command. Once you have expunged it, though, it is gone forever. The EXIT command usually expunges deleted messages automatically. This can be changed, though, with the SET AUTO-EXPUNGE command. Mark The MARK command marks a messages, or messages, as having been seen. Messages are marked automatically when you examine them using the READ, TYPE, or VERBOSE-TYPE commands. When MS first starts up, it will display a header line for each message which is not marked as having been seen. The UNMARK command will remove the "seen" mark from a message. Unmark The UNMARK command removes the mark on a message which flags it as having been seen (see the MARK command description). Verbose-type This command displays a message literally. Even if you have given a SET ONLY-HEADERS-SHOWN command or a SET SUPPRESSED- HEADERS command to restrict the amount of headers shown, the whole message will be displayed. Print This command, which takes a message sequence as an argument, causes the messages specified to be printed on the line printer. The listing will be prefaced by a one-line summary of each message if you have given the SET SUMMARY-ON- PRINTER-OUTPUT command. NOTE This command actually causes MS to copy the message to device LL: (lowercase line printer); if that doesn't work, MS tries device LPT:. MS does this to try to print the message(s) on a printer with lowercase capabilities. If you do not have spooling set for device LPT:, MS will try to assign the physical line printer. It is highly recommended (and the usual de- fault) that you run with spooling for all devices (SET SPOOL ALL). Your system ad- ministrator (the person who assigned you your account on the system) can set this up for you permanently. System-messages The system has a public mail file which contains messages of interest to all users; this is similar to a bulletin board. The SYSTEM-MESSAGES command loads the public message file. You then read it just like ordinary mail. Unless you have special privileges, though, you may not DELETE messages or EXPUNGE deleted messages from this file. Take This command takes a filespec as an argument. It reads the contents of the file and executes them as MS commands. Command files may be nested; that is, a command file may contain TAKE commands. You create command files with any editor; for more information on editors, refer to the ap- propriate user's manual. RFC822 RFC822 (Request For Comments number 822) is the name of the ARPANET mail format standard. It is the oldest and most widely-known electronic mail standard, and forms the basis of many other standards (usually subsets). MS tries very hard to adhere to RFC822. While it certainly does not understand everything allowed by the standard, it should never generate messages which violate it. Those interested in the details of RFC822 should read the RFC itself. It is available online at SRI-KL on the ARPANET and can be accessed through the NIC facility. If you do not have access to the ARPANET, you can obtain a document that includes a description of RFC822. The name of the document is "ARPANET Protocol Handbook", and is available as Publication no. NIC 7104 from: National Technical Information Service (NTIS) 5285 Port Royal Road Springfield, VA 22161 For the benefit of readers who may have been referred to this topic by the reference in the entry for the SET PERSONAL-NAME command, RFC822 defines "special characters" (characters which must be in a quoted string to appear in a header-item) as follows: specials: ( ) < > @ , ; : \ " ! % [] Create-init-file The CREATE-INIT-FILE command, available only at top level, provides an easy way for you to create an init file (for more information about init files, say HELP INIT-FILE). When you give the CREATE-INIT-FILE command, MS enters create-init mode. Instead of prompting with the standard prompt, MS> MS prompts this way: MS Create-init>> While in this mode, every command you type goes into the init file, with the exception of the HELP and TAKE commands. The HELP command is excluded so that you can get help during your create-init session without cluttering up your init file with HELP commands. If you wish to add to an existing init file, rather than creating a new one from scratch, just give the fol- lowing command at some point during your create-init dialogue: TAKE MS.INI If during create-init mode you change your mind and you decide you really don't want to change your init file, give the QUIT command. Or, when you are finished creating your init file and wish to update the init file and return to normal mode, give the FINISH command. File The FILE command is similar to both the MOVE and COPY commands. It allows you to copy a number of messages (at top level) or the current message (at read level) into another message file, and optionally can delete the original message(s) from the current message file. After copying the message(s) into the file you specify, MS will ask whether you wish to delete the original copy of the message(s) from the current message file. oureply either YES or NO; NO is the default and is assumed if you give a blank reply. Unflag The UNFLAG command removes the "flag" from a message. For more information, see the description of the FLAG command. Undelete The UNDELETE command removes the "deleted" flag from a message. For more detail, see the description of the DELETE command. Type The TYPE command simply types the messages you name on your terminal. No screen clearing is done, and if you specify more than one message, they are typed all at once with no pauses. This contrasts with the READ command, which pauses after displaying each message to allow you to manipulate the messages as they go by. Exit The EXIT command is used to leave MS and return to the program which invoked it (the command language processor). In addition, unless you have given an overriding SET AUTO-EXPUNGE command, the EXIT command will do an implied EXPUNGE to discard deleted messages. Quit The QUIT command causes MS to leave the current command level and return to the level which invoked the current level. At top level then, the QUIT command returns you to the command language processor. Push The PUSH command places your terminal at operating system command level, at which point you can perform any ordinary operating system function or command. Giving the POP command will return you to MS. Next The NEXT command causes MS to display the "next" message, that is, the message following the current message. If the current message is the last message in the file, you will receive an error message. Directory The DIRECTORY command is equivalent to the HEADERS command. .KJOB .Connection closed by foreign host. $ r telnet ks10.hs.washington.edu Trying...