summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc733.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc733.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc733.txt')
-rw-r--r--doc/rfc/rfc733.txt1958
1 files changed, 1958 insertions, 0 deletions
diff --git a/doc/rfc/rfc733.txt b/doc/rfc/rfc733.txt
new file mode 100644
index 0000000..a2a1472
--- /dev/null
+++ b/doc/rfc/rfc733.txt
@@ -0,0 +1,1958 @@
+
+
+
+
+RFC # 733
+NIC # 41952
+
+Obsoletes: RFC #561 (NIC #18516)
+ RFC #680 (NIC #32116)
+ RFC #724 (NIC #37435)
+
+
+
+
+
+
+
+ STANDARD FOR THE FORMAT OF
+
+ ARPA NETWORK TEXT MESSAGES(1)
+
+
+
+
+ 21 November 1977
+
+
+
+
+ by
+
+
+ David H. Crocker
+ The Rand Corporation
+
+ John J. Vittal
+ Bolt Beranek and Newman Inc.
+
+ Kenneth T. Pogran
+ Massachusets Institute of Technology
+
+ D. Austin Henderson, Jr.(2)
+ Bolt Beranek and Newman Inc.
+
+
+
+_________________________________________________________________
+(1)This work was supported by the Defense Advanced Research
+Projects Agency of the Department of Defense, under contract Nos.
+N00014-75-C-0661, MDA903-76-C-0212, and DAHC15-73-C0181.
+
+(2)The authors' postal addresses are: D. Crocker, The Rand
+Corporation, Information Sciences Dept., 1700 Main St., Santa
+Monica, California 90406; J. Vittal & D. A. Henderson, Bolt
+Beranek & Newman, 50 Moulton St., Cambridge, Massachusetts 02138;
+and K. Pogran, MIT Laboratory for Computer Science, 545
+Technology Square, Cambridge, Massachusetts 02139. The authors'
+ARPANET addresses are: DCrocker at Rand-Unix, Vittal at BBN-
+TenexD, Pogran at MIT-Multics, and Henderson at BBN-TenexD.
+
+ -iii-
+
+
+
+
+
+ PREFACE
+
+
+
+ ARPA's Committee on Computer-Aided Human Communication
+(CAHCOM) wishes to promulgate a standard for the format of ARPA
+Network text message (mail) headers which will reasonably meet
+the needs of the various message service subsystems on the
+Network today. The authors of this document constitute the
+CAHCOM subcommittee charged with the task of developing this new
+standard.
+
+ Essentially, we specify a revision to ARPANET Request for
+Comments (RFC) 561, "Standardizing Network Mail Headers", and RFC
+680, "Message Transmission Protocol". This revision removes and
+compacts portions of the previous syntax and adds several
+features to network address specification. In particular, we
+focus on people and not mailboxes as recipients and allow
+reference to stored address lists. We expect this syntax to
+provide sufficient capabilities to meet most users' immediate
+needs and, therefore, give developers enough breathing room to
+produce a new mail transmission protocol "properly". We believe
+that there is enough of a consensus in the Network community in
+favor of such a standard syntax to make possible its adoption at
+this time. An earlier draft of this specification was published
+as RFC #724, "Proposed Official Standard for the Format of ARPA
+Network Messages" and contained extensive discussion of the
+background and issues in ARPANET mail standards.
+
+ This specification was developed over the course of one
+year, using the ARPANET mail environment, itself, to provide an
+on-going forum for discussing the capabilities to be included.
+More than twenty individuals, from across the country,
+participated in this discussion and we would like to acknowledge
+their considerable efforts. The syntax of the standard was
+originally specified in the Backus-Naur Form (BNF) meta-language.
+Ken L. Harrenstien, of SRI International, was responsible for
+re-coding the BNF into an augmented BNF which compacts the
+specification and allows increased comprehensibility.
+
+
+
+ -v-
+
+
+
+
+
+ CONTENTS
+
+
+
+PREFACE..................................................... iii
+
+
+Section
+ I. INTRODUCTION......................................... 1
+
+ II. FRAMEWORK............................................ 2
+
+ III. SYNTAX............................................... 4
+ A. Notational Conventions............................ 4
+ B. Lexical Analysis of Messages...................... 5
+ C. General Syntax of Messages........................ 13
+ D. Syntax of General Addressee Items................. 15
+ E. Supporting Constructs............................. 15
+
+ IV. SEMANTICS............................................ 17
+ A. Address Fields.................................... 17
+ B. Reference Specification Fields.................... 22
+ C. Other Fields and Syntactic Items.................. 23
+ D. Dates and Times................................... 24
+
+ V. EXAMPLES............................................. 25
+ A. Addresses......................................... 25
+ B. Address Lists..................................... 26
+ C. Originator Items.................................. 26
+ D. Complete Headers.................................. 28
+
+
+Appendix
+ A. ALPHABETICAL LISTING OF SYNTAX RULES................. 31
+ B. SIMPLE PARSING....................................... 35
+
+BIBLIOGRAPHY................................................ 37
+
+
+Standard for the Format of Text Messages 1
+I. Introduction
+
+
+
+
+
+ I. INTRODUCTION
+
+
+
+
+ This standard specifies a syntax for text messages which are
+passed between computer users within the framework of "electronic
+mail". The standard supersedes the informal standards specified
+in ARPANET Request for Comments numbers 561, "Standardizing
+Network Mail Headers", and 680, "Message Transmission Protocol".
+In this document, a general framework is first described; the
+formal syntax is then specified, followed by a discussion of the
+semantics. Finally, a number of examples are given.
+
+ This specification is intended strictly as a definition of
+what is to be passed between hosts on the ARPANET. It is NOT
+intended to dictate either features which systems on the Network
+are expected to support, or user interfaces to message creating
+or reading programs.
+
+ A distinction should be made between what the specification
+REQUIRES and what it ALLOWS. Messages can be made complex and
+rich with formally-structured components of information or can be
+kept small and simple, with a minimum of such information. Also,
+the standard simplifies the interpretation of differing visual
+formats in messages. These simplifications facilitate the formal
+specification and indicate what the OFFICIAL semantics are for
+messages. Only the visual aspect of a message is affected and
+not the interpretation of information within it. Implementors
+may choose to retain such visual distinctions.
+
+
+
+
+Standard for the Format of Text Messages 2
+II. Framework
+
+
+
+
+
+ II. FRAMEWORK
+
+
+
+
+ Since there are many message systems which exist outside the
+ARPANET environment, as well as those within it, it may be useful
+to consider the general framework, and resulting capabilities and
+limitations, provided by this standard.
+
+ Messages are expected to consist of lines of text. No
+special provisions are made, at this time, for encoding drawings,
+facsimile, speech, or structured text.
+
+ No significant consideration has been given to questions of
+data compression or transmission/storage efficiency. The
+standard, in fact, tends to be very free with the number of bits
+consumed. For example, field names are specified as free text,
+rather than special terse codes.
+
+ A general "memo" framework is used. That is, a message
+consists of some information, in a rigid format, followed by the
+main part of the message, which is text and whose format is not
+specified in this document. The syntax of several fields of the
+rigidly-formated ("header") section is defined in this
+specification; some of the header fields must be included in all
+messages. The syntax which distinguishes between headers is
+specified separately from the internal syntax for particular
+headers. This separation is intended to allow extremely simple
+parsers to operate on the overall structure of messages, without
+concern for the detailed structure of individual headers.
+Appendix B is provided to facilitate construction of these simple
+parsers. In addition to the fields specified in this document,
+it is expected that other fields will gain common use. User-
+defined header fields allow systems to extend their functionality
+while maintaining a uniform framework. The approach is similar
+to that of the TELNET protocol, in that a basic standard is
+defined which includes a mechanism for (optionally) extending
+itself. As necessary, the authors of this document will regulate
+the publishing of specifications for these "extension-fields",
+through the same mechanisms used to publish this document.
+
+ Such a framework severely constrains document tone and
+appearance and is primarily useful for most intra-organization
+communications and relatively structured inter-organization
+communication. A more robust environment might allow for multi-
+font, multi-color, multi-dimension encoding of information. A
+less robust environment, as is present in most single-machine
+message systems, would more severely constrain the ability to add
+fields and the decision to include specific fields. In contrast
+to paper-based communication, it is interesting to note that the
+
+Standard for the Format of Text Messages 3
+II. Framework
+
+
+
+RECEIVER of a message can exercise an extraordinary amount of
+control over the message's appearance. The amount of actual
+control available to message receivers is contingent upon the
+capabilities of their individual message systems.
+
+
+Standard for the Format of Text Messages 4
+III. Syntax
+
+
+
+
+
+ III. SYNTAX
+
+
+
+ This syntax is given in five parts. The first part
+describes the notation used in the specification. The second
+part describes the base-level lexical analyzers which feed the
+higher-level parser described in the succeeding sections. The
+third part gives a general syntax for messages and standard
+header fields; and the fourth part specifies the syntax of
+addresses. A final part specifies some general syntax which
+supports the other sections.
+
+
+
+A. NOTATIONAL CONVENTIONS
+
+These specifications are made in an augmented Backus-Naur Form
+(BNF). Differences from standard BNF involve the naming of
+rules, the indication of repetition and of "local" alternatives.
+
+
+1. Rule naming
+
+Angle brackets ("<", ">") are not used, in general. The name of
+a rule is simply the name itself, rather than "<name>".
+Quotation-marks enclose literal text (which may be upper and/or
+lower case). Certain basic rules are in uppercase, such as
+SPACE, TAB, CRLF, DIGIT, ALPHA, etc. Angle brackets are used in
+rule definitions, and in the rest of this document, whenever
+their presence will facilitate discerning the use of rule names.
+
+
+2. Parentheses: Local alternatives
+
+Elements enclosed in parentheses are treated as a single element.
+Thus, "(elem (foo / bar) elem)" allows "(elem foo elem)" and
+"(elem bar elem)".
+
+
+3. * construct: Repetition
+
+The character "*" preceding an element indicates repetition. The
+full form is:
+
+ <l>*<m>element
+
+indicating at least <l> and at most <m> occurrences of element.
+Default values are 0 and infinity so that "*(element)" allows any
+number, including zero; "1*element" requires at least one; and
+"1*2element" allows one or two.
+
+Standard for the Format of Text Messages 5
+III. Syntax
+ A. Notational Conventions
+
+
+
+4. <number>element
+
+"<n>(element)" is equivalent to "<n>*<n>(element)"; that is,
+exactly <n> occurrences of (element). Thus 2DIGIT is a 2-digit
+number, and 3ALPHA is a string of three alphabetic characters.
+
+
+5. # construct: Lists
+
+A construct "#" is defined, similar to "*", as follows:
+
+ <l>#<m>element
+
+indicating at least <l> and at most <m> elements, each separated
+by one or more commas (","). This makes the usual form of lists
+very easy; a rule such as '(element *("," element))' can be shown
+as "1#element". Wherever this construct is used, null elements
+are allowed, but do not contribute to the count of elements
+present. That is, "(element),,(element)" is permitted, but
+counts as only two elements. Therefore, where at least one
+element is required, at least one non-null element must be
+present.
+
+
+6. [optional]
+
+Square brackets enclose optional elements; "[foo bar]" is
+equivalent to "*1(foo bar)".
+
+
+7. ; Comments
+
+A semi-colon, set off some distance to the right of rule text,
+starts a comment which continues to the end of line. This is a
+simple way of including useful notes in parallel with the
+specifications.
+
+
+
+B. LEXICAL ANALYSIS OF MESSAGES
+
+
+1. General Description
+
+A message consists of headers and, optionally, a body (i.e. a
+series of text lines). The text part is just a sequence of lines
+containing ASCII characters; it is separated from the headers by
+a null line (i.e., a line with nothing preceding the CRLF).
+
+
+Standard for the Format of Text Messages 6
+III. Syntax
+ B. Lexical Analysis
+
+
+
+a. Folding and unfolding of headers
+
+ Each header item can be viewed as a single, logical line of
+ ASCII characters. For convenience, the field-body portion of
+ this conceptual entity can be split into a multiple-line
+ representation (i.e., "folded"). The general rule is that
+ wherever there can be linear-white-space (NOT simply LWSP-
+ chars), a CRLF immediately followed by AT LEAST one LWSP-char
+ can instead be inserted. (However, a header's name and the
+ following colon (":"), which occur at the beginning of the
+ header item, may NOT be folded onto multiple lines.) Thus,
+ the single line
+
+ To: "Joe Dokes & J. Harvey" <ddd at Host>, JJV at BBN
+
+ can be represented as
+
+ To: "Joe Dokes & J. Harvey" <ddd at Host>,
+ JJV at BBN
+
+ and
+
+ To: "Joe Dokes & J. Harvey"
+ <ddd at Host>,
+ JJV at BBN
+
+ and
+
+ To: "Joe Dokes
+ & J. Harvey" <ddd at Host>, JJV at BBN
+
+ The process of moving from this folded multiple-line
+ representation of a header field to its single line
+ representation will be called "unfolding". Unfolding is
+ accomplished by regarding CRLF immediately followed by a
+ LWSP-char as equivalent to the LWSP-char.
+
+b. Structure of header fields
+
+ Once header fields have been unfolded, they may be viewed as
+ being composed of a field-name followed by a colon (":"),
+ followed by a field-body. The field-name must be composed of
+ printable ASCII characters (i.e., characters which have
+ values between 33. and 126., decimal, except colon) and
+ LWSP-chars. The field-body may be composed of any ASCII
+ characters (other than an unquoted CRLF, which has been
+ removed by unfolding).
+
+ Certain field-bodies of header fields may be interpreted
+ according to an internal syntax which some systems may wish
+ to parse. These fields will be referred to as "structured"
+ fields. Examples include fields containing dates and
+
+Standard for the Format of Text Messages 7
+III. Syntax
+ B. Lexical Analysis
+
+
+
+ addresses. Other fields, such as "Subject" and "Comments",
+ are regarded simply as strings of text.
+
+ NOTE: Field-names, unstructured field bodies and structured
+ field bodies each are scanned by their own, INDEPENDENT
+ "lexical" analyzer.
+
+c. Field-names
+
+ To aid in the creation and reading of field-names, the free
+ insertion of LWSP-chars is allowed in reasonable places.
+
+ Rather than obscuring the syntax specification for field-name
+ with the explicit syntax for these LWSP-chars, the existence
+ of a "lexical" analyzer is assumed. The analyzer interprets
+ the text which comprises the field-name as a sequence of
+ field-name atoms (fnatoms) separated by LWSP-chars
+
+ Note that ONLY LWSP-chars may occur between the fnatoms of a
+ field-name and that CRLFs may NOT. In addition, comments are
+ NOT lexically recognized, as such, but parenthesized strings
+ are legal as part of field-names. These constraints are
+ different from what is permissible within structured field
+ bodies. In particular, this means that header field-names
+ must wholly occur on the FIRST line of a folded header item
+ and may NOT be split across two or more lines.
+
+d. Unstructured field bodies
+
+ For some fields, such as "Subject" and "Comments", no
+ structuring is assumed; and they are treated simply as texts,
+ like those in the message body. Rules of folding apply to
+ these fields, so that such field bodies which occupy several
+ lines must therefore have the second and successive lines
+ indented by at least one LWSP-char.
+
+e. Structured field bodies
+
+ To aid in the creation and reading of structured fields, the
+ free insertion of linear-white-space (which permits folding
+ by inclusion of CRLFs) is allowed in reasonable places.
+ Rather than obscuring the syntax specifications for these
+ structured fields with explicit syntax for this linear-
+ white-space, the existence of another "lexical" analyzer is
+ assumed. This analyzer does not apply for field bodies which
+ are simply unstructured strings of text, as described above.
+ It provides an interpretation of the unfolded text comprising
+ the body of the field as a sequence of lexical symbols.
+ These symbols are:
+
+ - individual special characters
+ - quoted-strings
+
+Standard for the Format of Text Messages 8
+III. Syntax
+ B. Lexical Analysis
+
+
+
+ - comments
+ - atoms
+
+ The first three of these symbols are self-delimiting. Atoms
+ are not; they therefore are delimited by the self-delimiting
+ symbols and by linear-white-space. For the purposes of re-
+ generating sequences of atoms and quoted-strings, exactly one
+ SPACE is assumed to exist and should be used between them.
+ (Also, in Section III.B.3.a, note the rules concerning
+ treatment of multiple continguous LWSP-chars.)
+
+ So, for example, the folded body of an address field
+
+ ":sysmail"@ Some-Host,
+ Muhammed(I am the greatest)Ali at(the)WBA
+
+ is analyzed into the following lexical symbols and types:
+
+ ":sysmail" quoted string
+ @ special
+ Some-Host atom
+ , special
+ Muhammed atom
+ (I am the greatest) comment
+ Ali atom
+ at atom
+ (the) comment
+ WBA atom
+
+ The cononical representations for the data in these addresses
+ are the following strings (note that there is exactly one
+ SPACE between words):
+
+ :sysmail at Some-Host
+
+ and
+
+ Muhammed Ali at WBA
+
+
+
+2. Formal Definitions
+
+The first four rules, below, indicate a meta-syntax for fields,
+without regard to their particular type or internal syntax. The
+remaining rules define basic syntactic structures which are used
+by the rules in Sections III.C, III.D, and III.E.
+
+field = field-name ":" [ field-body ] CRLF
+
+field-name = fnatom *( LWSP-char [fnatom] )
+
+
+Standard for the Format of Text Messages 9
+III. Syntax
+ B. Lexical Analysis
+
+
+
+fnatom = 1*<any CHAR, excluding CTLs, SPACE, and ":">
+
+field-body = field-body-contents
+ [CRLF LWSP-char field-body]
+
+field-body-contents = <the TELNET ASCII characters making up the
+ field-body, as defined in the following sections,
+ and consisting of combinations of atom, quoted-
+ string, and specials tokens, or else consisting of
+ texts>
+
+ ; ( Octal, Decimal.)
+CHAR = <any TELNET ASCII character> ; ( 0-177, 0.-127.)
+ALPHA = <any TELNET ASCII alphabetic character>
+ ; (101-132, 65.- 90.)
+ ; (141-172, 97.-122.)
+DIGIT = <any TELNET ASCII digit> ; ( 60- 71, 48.- 57.)
+CTL = <any TELNET ASCII control ; ( 0- 37, 0.- 31.)
+ character and DEL> ; ( 177, 127.)
+CR = <TELNET ASCII carriage return>;( 15, 13.)
+LF = <TELNET ASCII linefeed> ; ( 12, 10.)
+SPACE = <TELNET ASCII space> ; ( 40, 32.)
+HTAB = <TELNET ASCII horizontal-tab>; ( 11, 9.)
+<"> = <TELNET ASCII quote mark> ; ( 42, 34.)
+CRLF = CR LF
+
+LWSP-char = SPACE / HTAB ; semantics = SPACE
+linear-white-space = 1*([CRLF] LWSP-char) ; semantics = SPACE
+ ; CRLF => folding
+
+specials = "(" / ")" / "<" / ">" / "@" ; To use in a word,
+ / "," / ";" / ":" / "\" / <"> ; word must be a
+ ; quoted-string.
+
+delimiters = specials / comment / linear-white-space
+
+text = <any CHAR, including bare ; => atoms, specials,
+ CR and/or bare LF, but NOT ; comments and
+ including CRLF> ; quoted-strings are
+ ; NOT interpreted.
+
+atom = 1*<any CHAR except specials and CTLs>
+
+quoted-string = <"> *(qtext/quoted-pair) <">; Any number of qtext
+ ; chars or any
+ ; quoted char.
+
+qtext = <any CHAR excepting <"> ; => may be folded
+ and CR, and including
+ linear-white-space>
+
+
+Standard for the Format of Text Messages 10
+III. Syntax
+ B. Lexical Analysis
+
+
+
+comment = "(" *(ctext / comment / quoted-pair) ")"
+ctext = <any CHAR excluding "(", ; => may be folded
+ ")" and CR, and including
+ linear-white-space>
+
+quoted-pair = "\" CHAR
+
+
+3. Clarifications
+
+a. "White space"
+
+ Remember that in field-names and structured field bodies,
+ MULTIPLE LINEAR WHITE SPACE TELNET ASCII CHARACTERS (namely
+ HTABs and SPACEs) ARE TREATED AS SINGLE SPACES AND MAY FREELY
+ SURROUND ANY SYMBOL. In all header fields, the only place in
+ which at least one space is REQUIRED is at the beginning of
+ continuation lines in a folded field. When passing text to
+ processes which do not interpret text according to this
+ standard (e.g., ARPANET FTP mail servers), then exactly one
+ SPACE should be used in place of arbitrary linear-white-space
+ and comment sequences.
+
+ WHEREVER A MEMBER OF THE LIST OF <DELIMITER>S IS ALLOWED,
+ LWSP-CHARS MAY ALSO OCCUR BEFORE AND/OR AFTER IT.
+
+ Writers of mail-sending (i.e. header generating) programs
+ should realize that there is no Network-wide definition of
+ the effect of horizontal-tab TELNET ASCII characters on the
+ appearance of text at another Network host; therefore, the
+ use of tabs in message headers, though permitted, is
+ discouraged.
+
+ Note that during transmissions across the ARPANET using
+ TELNET NVT connections, data must conform to TELNET NVT
+ conventions (e.g., CR must be followed by either LF, making a
+ CRLF, or <null>, if the CR is to stand alone).
+
+b. Comments
+
+ Comments are detected as such only within field-bodies of
+ structured fields. A comment is a set of TELNET ASCII
+ characters, which is not within a quoted-string and which is
+ enclosed in matching parentheses; parentheses nest, so that
+ if an unquoted left parenthesis occurs in a comment string,
+ there must also be a matching right parenthesis. When a
+ comment is used to act as the delimiter between a sequence of
+ two lexical symbols, such as two atoms, it is lexically
+ equivalent with one SPACE, for the purposes of regenerating
+ the sequence, such as when passing the sequence onto an FTP
+ mail server.
+
+
+Standard for the Format of Text Messages 11
+III. Syntax
+ B. Lexical Analysis
+
+
+
+ In particular comments are NOT passed to the FTP server, as
+ part of a MAIL or MLFL command, since comments are not part
+ of the "formal" address.
+
+ If a comment is to be "folded" onto multiple lines, then the
+ syntax for folding must be adhered to. (See items III.B.1.a,
+ above, and III.B.3.f, below.) Note that the official
+ semantics therefore do not "see" any unquoted CRLFs which are
+ in comments, although particular parsing programs may wish to
+ note their presence. For these programs, it would be
+ reasonable to interpret a "CRLF LWSP-char" as being a CRLF
+ which is part of the comment; i.e., the CRLF is kept and the
+ LWSP-char is discarded. Quoted CRLFs (i.e., a backslash
+ followed by a CR followed by a LF) still must be followed by
+ at least one LWSP-char.
+
+c. Delimiting and quoting characters
+
+ The quote character (backslash) and characters which delimit
+ syntactic units are not, generally, to be taken as data which
+ are part of the delimited or quoted unit(s). The one
+ exception is SPACE. In particular, the quotation-marks which
+ define a quoted-string, the parentheses which define a
+ comment and the backslash which quotes a following character
+ are NOT part of the quoted-string, comment or quoted
+ character. A quotation-mark which is to be part of a
+ quoted-string, a parenthesis which is to be part of a comment
+ and a backslash which is to be part of either must each be
+ preceded by the quote-character backslash ("\"). Note that
+ the syntax allows any character to be quoted within a
+ quoted-string or comment; however only certain characters
+ MUST be quoted to be included as data. These characters are
+ those which are not part of the alternate text group (i.e.,
+ ctext or qtext).
+
+ A single SPACE is assumed to exist between contiguous words
+ in a phrase, and this interpretation is independent of the
+ actual number of LWSP-chars which the creator places between
+ the words. To include more than one SPACE, the creator must
+ make the LWSP-chars be part of a quoted-string.
+
+ Quotation marks which delimit a quoted string and backslashes
+ which quote the following character should NOT accompany the
+ quoted-string when the string is used with processes that do
+ not interpret data according to this specification (e.g.,
+ ARPANET FTP mail servers).
+
+
+Standard for the Format of Text Messages 12
+III. Syntax
+ B. Lexical Analysis
+
+
+
+d. Quoted-strings
+
+ Where permitted (i.e., in words in structured fields)
+ quoted-strings are treated as a single symbol (i.e.
+ equivalent to an atom, syntactically). If a quoted-string is
+ to be "folded" onto multiple lines, then the syntax for
+ folding must be adhered to. (See items III.B.1.a, above, and
+ III.B.3.f, below.) Note that the official semantics
+ therefore do not "see" any bare CRLFs which are in quoted-
+ strings, although particular parsing programs may wish to
+ note their presence. For these programs, it would be
+ reasonable to interpret a "CRLF LWSP-char" as being a CRLF
+ which is part of the quoted-string; i.e., the CRLF is kept
+ and the LWSP-char is discarded. Quoted CRLFs (i.e., a
+ backslash followed by a CR followed by a LF) are also subject
+ to rules of folding, but the presence of the quoting
+ character (backslash) explicitly indicates that the CRLF is
+ data to the quoted string. Stripping off the first following
+ LWSP-char is also appropriate when parsing quoted CRLFs.
+
+e. Bracketing characters
+
+ There are three types of brackets which must be well nested:
+
+ o Parentheses are used to indicate comments.
+
+ o Angle brackets ("<" and ">") are generally used
+ to indicate the presence of at least one machine-
+ usable code (e.g., delimiting mailboxes).
+
+ o Colon/semi-colon (":" and ";") are used in
+ address specifications to indicate that the
+ included list of addresses are to be treated as a
+ group.
+
+f. Case independence of certain specials atoms
+
+ Certain atoms, which are represented in the syntax as literal
+ alphabetic strings, can be represented in any combination of
+ upper and lower case. These are:
+
+ - field-name,
+ - "Include", "Postal" and equivalent atoms in a
+ ":"<atom>":" address specification,
+ - "at", in a host-indicator,
+ - node,
+ - day-of-week,
+ - month, and
+ - zones.
+
+ When matching an atom against one of these literals, case is
+ to be ignored. For example, the field-names "From", "FROM",
+
+Standard for the Format of Text Messages 13
+III. Syntax
+ B. Lexical Analysis
+
+
+
+ "from", and even "FroM" should all be treated identically.
+ However, the case shown in this specification is suggested
+ for message-creating processes. Note that, at the level of
+ this specification, case IS relevant to other words and
+ texts. Also see Section IV.A.1.f, below.
+
+g. Folding long lines
+
+ Each header item (field of the message) may be represented on
+ exactly one line consisting of the name of the field and its
+ body; this is what the parser sees. For readability, it is
+ recommended that the field-body portion of long header items
+ be "folded" onto multiple lines of the actual header. "Long"
+ is commonly interpreted to mean greater than 65 or 72
+ characters. The former length is recommended as a limit, but
+ it is not imposed by this standard.
+
+h. Backspace characters
+
+ Backspace TELNET ASCII characters (ASCII BS, decimal 8.) may
+ be included in texts and quoted-strings to effect
+ overstriking; however, any use of backspaces which effects an
+ overstrike to the left of the beginning of the text or
+ quoted-string is prohibited.
+
+
+
+C. GENERAL SYNTAX OF MESSAGES:
+
+
+ NOTE: Due to an artifact of the notational conventions,
+ the syntax indicates that, when present, "Date",
+ "From", "Sender", and "Reply-To" fields must be
+ in a particular order. These header items must
+ be unique (occur exactly once). However header
+ fields, in fact, are NOT required to occur in any
+ particular order, except that the message body
+ must occur AFTER the headers. For readability
+ and ease of parsing by simple systems, it is
+ recommended that headers be sent in the order
+ "Date", "From", "Subject", "Sender", "To", "cc",
+ etc. This specification permits multiple
+ occurrences of most optional-fields. However,
+ their interpretation is not specified here, and
+ their use is strongly discouraged.
+
+The following syntax for the bodies of various fields should be
+thought of as describing each field body as a single long string
+(or line). The section on Lexical Analysis (section II.B)
+indicates how such long strings can be represented on more than
+one line in the actual transmitted message.
+
+
+Standard for the Format of Text Messages 14
+III. Syntax
+ C. Messages
+
+
+
+message = fields *( CRLF *text ) ; Everything after
+ ; first null line
+ ; is message body
+
+fields = date-field ; Creation time-stamp
+ originator-fields ; & author id are
+ *optional-field ; required: others
+ ; are all optional
+
+originator-fields =
+ ( "From" ":" mailbox ; Single author
+ ["Reply-To" ":" #address] )
+ / ( "From" ":" 1#address ; Multiple authors &
+ "Sender" ":" mailbox ; may have non-mach-
+ ["Reply-To" ":" #address] ); ine addresses
+
+date-field = "Date" ":" date-time
+
+optional-field =
+ "To" ":" #address
+ / "cc" ":" #address
+ / "bcc" ":" #address ; Blind carbon
+ / "Subject" ":" *text
+ / "Comments" ":" *text
+ / "Message-ID" ":" mach-id ; Only one allowed
+ / "In-Reply-To"":" #(phrase / mach-id)
+ / "References" ":" #(phrase / mach-id)
+ / "Keywords" ":" #phrase
+ / extension-field ; To be defined in
+ ; supplemental
+ ; specifications
+ / user-defined-field ; Must have unique
+ ; field-name & may
+ ; be pre-empted
+
+extension-field = <Any field which is defined in a document
+ published as a formal extension to this
+ specification>
+
+user-defined-field = <Any field which has not been defined in
+ this specification or published as an extension to
+ this specification; names for such fields must be
+ unique and may be preempted by published
+ extensions>
+
+
+
+
+Standard for the Format of Text Messages 15
+III. Syntax
+ D. Addressee Items
+
+
+
+D. SYNTAX OF GENERAL ADDRESSEE ITEMS
+
+
+address = host-phrase ; Machine mailbox
+ / ( [phrase] "<" #address ">") ; Individual / List
+ / ( [phrase] ":" #address ";") ; Group
+ / quoted-string ; Arbitrary text
+ / (":" ( "Include" ; File, w/ addr list
+ / "Postal" ; (U.S.) Postal addr
+ / atom ) ; Extended data type
+ ":" address)
+
+mailbox = host-phrase / (phrase mach-id)
+
+mach-id = "<" host-phrase ">" ; Contents must never
+ ; be modified!
+
+
+
+E. SUPPORTING CONSTRUCTS
+
+
+host-phrase = phrase host-indicator ; Basic address
+
+host-indicator = 1*( ("at" / "@") node ) ; Right-most node is
+ ; at top of network
+ ; hierarchy; left-
+ ; most must be host
+
+node = word / 1*DIGIT ; Official host or
+ ; network name or
+ ; decimal address
+
+
+date-time = [ day-of-week "," ] date time
+
+day-of-week = "Monday" / "Mon" / "Tuesday" / "Tue"
+ / "Wednesday" / "Wed" / "Thursday" / "Thu"
+ / "Friday" / "Fri" / "Saturday" / "Sat"
+ / "Sunday" / "Sun"
+
+date = 1*2DIGIT ["-"] month ; day month year
+ ["-"] (2DIGIT /4DIGIT) ; e.g. 20 Aug [19]77
+
+month = "January" / "Jan" / "February" / "Feb"
+ / "March" / "Mar" / "April" / "Apr"
+ / "May" / "June" / "Jun"
+ / "July" / "Jul" / "August" / "Aug"
+ / "September" / "Sep" / "October" / "Oct"
+ / "November" / "Nov" / "December" / "Dec"
+
+
+Standard for the Format of Text Messages 16
+III. Syntax
+ E. Supporting Constructs
+
+
+
+time = hour zone ; ANSI and Military
+ ; (seconds optional)
+
+hour = 2DIGIT [":"] 2DIGIT [ [":"] 2DIGIT ]
+ ; 0000[00] - 2359[59]
+
+zone = ( ["-"] ( "GMT" ; Relative to GMT:
+ ; North American
+ / "NST" / ; Newfoundland:-3:30
+ / "AST" / "ADT" ; Atlantic: - 4/ - 3
+ / "EST" / "EDT" ; Eastern: - 5/ - 4
+ / "CST" / "CDT" ; Central: - 6/ - 5
+ / "MST" / "MDT" ; Mountain: - 7/ - 6
+ / "PST" / "PDT" ; Pacific: - 8/ - 7
+ / "YST" / "YDT" ; Yukon: - 9/ - 8
+ / "HST" / "HDT" ; Haw/Ala -10/ - 9
+ / "BST" / "BDT" ; Bering: -11/ -10
+ 1ALPHA )) ; Military: Z = GMT;
+ ; A:-1; (J not used)
+ ; M:-12; N:+1; Y:+12
+ / ( ("+" / "-") 4DIGIT ) ; Local differential
+ ; hours/min. (HHMM)
+
+phrase = 1*word ; Sequence of words.
+ ; Separation seman-
+ ; tically = SPACE
+
+word = atom / quoted-string
+
+
+
+Standard for the Format of Text Messages 17
+IV. Semantics
+ A. Address Fields
+
+
+
+
+
+ IV. SEMANTICS
+
+
+
+A. ADDRESS FIELDS
+
+
+1. General
+
+a. The phrase part of a host-phrase in an address specification
+ (i.e., the host's name for the mailbox) is understood to be
+ whatever the receiving FTP Server allows (for example, TENEX
+ systems do not now understand addresses of the form "P. D.
+ Q. Bach", but another system might).
+
+ Note that a mailbox is a conceptual entity which does not
+ necessarily pertain to file storage. For example, some sites
+ may choose to print mail on their line printer and deliver
+ the output to the addressee's desk.
+
+ An individual may have several mailboxes and a group of
+ individuals may wish to receive mail as a single unit (i.e.,
+ a distribution list). The second and third alternatives of
+ an address list (#address) allow naming a collection of
+ subordinate addresses list(s). Recipient mailboxes are
+ specified within the bracketed part ("<" - ">" or ":" - ";")
+ of such named lists. The use of angle-brackets ("<", ">") is
+ intended for the cases of individuals with multiple mailboxes
+ and of special mailbox lists; it is not expected to be nested
+ more than one level, although the specification allows such
+ nesting. The use of colon/semi-colon (":", ";") is intended
+ for the case of groups. Groups can be expected to nest
+ (i.e., to contain subgroups). For both individuals and
+ groups, a copy of the transmitted message is to be sent to
+ EACH mailbox listed. For the case of a special list,
+ treatment of addresses is defined in the relevant subsections
+ of this section.
+
+b. The inclusion of bare quoted-strings as addresses (i.e., the
+ fourth address-form alternative) is allowed as a syntactic
+ convenience, but no semantics are defined for their use.
+ However, it is reasonable, when replicating an address list,
+ to replicate ALL of its members, including quoted-strings.
+
+c. ":Include:" specifications are used to refer to one or more
+ locations containing stored address lists (#address). If
+ more than one location is referenced, the address part of the
+ Include phrase must be a list (#address) surrounded by
+ angle-brackets, as per the "Individual / List" alternative of
+ <address>. Constituent addresses must resolve to a host-
+
+Standard for the Format of Text Messages 18
+IV. Semantics
+ A. Address Fields
+
+
+
+ phrase; only they have any meaning within this construct.
+ The phrase part of indicated host-phrases should contain text
+ which the referenced host can resolve to a file. This
+ standard is not a protocol and so does not prescribe HOW data
+ is to be retrieved from the file. However, the following
+ requirements are made:
+
+ o The file must be accessible through the local
+ operating system interface (if it exists), given
+ adequate user access rights; and
+
+ o If a host has an FTP server and a user is able
+ to retrieve any files from the host using that
+ server, then the file must be accessible through
+ FTP, using DEFAULT transfer settings, given
+ adequate user access rights.
+
+ It is intended that this mechanism allow programs to retrieve
+ such lists automatically.
+
+ The interpretation of such a file reference follows. This is
+ not intended to imply any particular implementation scheme,
+ but is presented to aid in understanding the notion of
+ including file contents in address lists:
+
+ o Elements of the address list part are alternates
+ and the contents of ONLY ONE of them are to be
+ included in the resultant address list.
+
+ o The contents of the file indicated by a member
+ host-phrase are treated as an address list and
+ are inserted as an address list (#address) in
+ the position of the path item in the syntax.
+ That is, the TELNET ASCII characters specifying
+ the entire Include <address> is replaced by the
+ contents of one of the files to which the host-
+ phrase(s), of the address list (#address),
+ refers. Therefore, the contents of each file,
+ indicated by an Include address, must be
+ syntactically self-contained and must adhere to
+ the full syntax prescribed herein for an address
+ list.
+
+d. ":Postal:" specifications are used to indicate (U.S.) postal
+ addresses, but can be treated the same as quoted-string
+ addresses. To reference a list of postal addresses, the list
+ must conform to the "Individual / List" alternative of
+ <address>. The ":Include:" alternative also is valid.
+
+e. The "':' atom ':'" syntax is intended as a general mechanism
+ for indicating specially data-typed addresses. As with
+ extension-fields, the authors of this document will regulate
+
+Standard for the Format of Text Messages 19
+IV. Semantics
+ A. Address Fields
+
+
+
+ the publishing of specifications for these extended data-
+ types. In the absence of defined semantics, any occurrence
+ of an address in this form may be treated as a quoted-string
+ address.
+
+f. A node name must be THE official name of a network or a host,
+ or else a decimal number indicating the Network address for
+ that network or host, at the time the message is created.
+ The USE OF NUMBERS IS STRONGLY DISCOURAGED and is permitted
+ only due to the occasional necessity of bypassing local name
+ tables. For the ARPANET, official names are maintained by
+ the Network Information Center at SRI International, Menlo
+ Park, California.
+
+ Whenever a message might be transmitted or migrate to a host
+ on another network, full hierarchical addresses must be
+ specified. These are indicated as a series of words,
+ separated by at-sign or "at" indications. The communication
+ environment is assumed to consist of a collection of networks
+ organized as independent "trees" except for connections
+ between the root nodes. That is, only the roots can act as
+ gateways between these independent networks. While other
+ actual connections may exist, it is believed that presuming
+ this type of organization will provide a reliable method for
+ describing VALID, if not EFFICIENT, paths between hosts. A
+ typical full mailbox specification might therefore look like:
+
+ Friendly User @ hosta @ local-net1 @ major-netq
+
+ In the simplest case, a mail-sending host should transmit the
+ message to the node which is mentioned last (farthest to the
+ right), strip off that node reference from the specification,
+ and then pass the remaining host-phrase to the recipient host
+ (in the ARPANET, its FTP server) for it to process. This
+ treats the remaining portion of the host-indicator merely as
+ the terminating part of the phrase.
+
+ NOTE: When passing any portion of a host-indicator
+ onto a process which does not interpret data
+ according to this standard (e.g., ARPANET
+ FTP servers), "@" must be used and not "at"
+ and it must not be preceded or followed by
+ any LWSP-chars. Using the above example,
+ the following string would be passed to the
+ major-netq gateway:
+
+ Friendly User@hosta@local-net1
+
+ When the sending host has more knowledge of the network
+ environment, then it should send the message along a more
+ efficient path, making appropriate changes to the form of the
+ host-phrase which it gives to the recipient host.
+
+Standard for the Format of Text Messages 20
+IV. Semantics
+ A. Address Fields
+
+
+
+ To use the above specification as an example: If a sending
+ hostb also were part of local-net1, then it could send the
+ message directly to hosta and would give only the phrase
+ "Friendly User" to hosta's mail-receiving program. If hostb
+ were part of local-net2, along with hostc, and happened to
+ know that hosta and hostc were part of another local-net,
+ then hostb could send the message to hostc to the address
+ "Friendly User@hosta".
+
+ The phrase in a host-phrase is intended to be meaningful only
+ to the indicated receiving host. To all other hosts, the
+ phrase is to be treated as an uninterpreted string. No case
+ transformations should be (automatically) performed on the
+ phrase. The phrase is passed to the local host's mail
+ sending program; it is the responsibility of the destination
+ host's mail receiving (distribution) program to perform case
+ mapping on this phrase, if required, to deliver the mail.
+
+
+2. Originator Fields
+
+ WARNING: The standard allows only a subset of the
+ combinations possible with the From, Sender,
+ and Reply-To fields. The limitation is
+ intentional.
+
+a. From
+
+ This field contains the identity of the person(s) who wished
+ this message to be sent. The message-creation process should
+ default this field to be a single machine address, indicating
+ the AGENT (person or process) entering the message. If this
+ is NOT done, the "Sender" field MUST be present; if this IS
+ done, the "Sender" field is optional.
+
+b. Sender
+
+ This field contains the identity of the AGENT (person or
+ process) who sends the message. It is intended for use when
+ the sender is not the author of the message, or to indicate
+ who among a group of authors actually sent the message. If
+ the contents of the "Sender" field would be completely
+ redundant with the "From" field, then the "Sender" field need
+ not be present and its use is discouraged (though still
+ legal); in particular, the "Sender" field MUST be present
+ if it is NOT the same as the "From" Field.
+
+ The Sender host-phrase includes a phrase which must
+ correspond to a specific agent (i.e., a human user or a
+ computer program) rather than a standard address. This
+ indicates the expectation that the field will identify the
+ single AGENT (person or process) responsible for sending the
+
+Standard for the Format of Text Messages 21
+IV. Semantics
+ A. Address Fields
+
+
+
+ mail and not simply include the name of a mailbox from which
+ the mail was sent. For example in the case of a shared login
+ name, the name, by itself, would not be adequate. The phrase
+ part of the host-phrase, which refers to this agent, is
+ expected to be a computer system term, and not (for example)
+ a generalized person reference which can be used outside the
+ network text message context.
+
+ Since the critical function served by the "Sender" field is
+ the identification of the agent responsible for sending mail
+ and since computer programs cannot be held accountable for
+ their behavior, is strongly recommended that when a computer
+ program generates a message, the HUMAN who is responsible for
+ that program be referenced as part of the "Sender" field
+ host-phrase.
+
+c. Reply-To
+
+ This field provides a general mechanism for indicating any
+ mailbox(es) to which responses are to be sent. Three typical
+ uses for this feature can be distinguished. In the first
+ case, the author(s) may not have regular machine-based
+ mailboxes and therefore wish(es) to indicate an alternate
+ machine address. In the second case, an author may wish
+ additional persons to be made aware of, or responsible for,
+ responses; responders should send their replies to the
+ "Reply-To" mailbox(es) listed in the original message. A
+ somewhat different use may be of some help to "text message
+ teleconferencing" groups equipped with automatic distribution
+ services: include the address of that service in the
+ "Reply-To" field of all messages submitted to the
+ teleconference; then participants can "reply" to conference
+ submissions to guarantee the correct distribution of any
+ submission of their own.
+
+ Reply-To fields are NOT required to contain any machine
+ addresses (i.e., host-phrases). Note, however, that the
+ absence of even one valid network address will tend to
+ prevent software systems from automatically assisting users
+ in conveniently responding to mail.
+
+NOTE: For systems which automatically generate address lists for
+replies to messages, the following recommendations are made:
+
+ o The receiver, when replying to a message, should
+ NEVER automatically include the "Sender" host-phrase
+ in the reply's address list;
+
+ o If the "Reply-To" field exists, then the reply
+ should go ONLY to the addresses indicated in that
+ field and not to the addresses indicated in the
+ "From" field.
+
+Standard for the Format of Text Messages 22
+IV. Semantics
+ A. Address Fields
+
+
+
+(Extensive examples are provided in Section V.) This
+recommendation is intended only for originator-fields and is not
+intended to suggest that replies should not also be sent to the
+other recipients of this message. It is up to the respective
+mail handling programs to decide what additional facilities will
+be provided.
+
+
+3. Receiver Fields
+
+a. To
+
+ This field contains the identity of the primary recipients of
+ the message.
+
+b. cc
+
+ This field contains the identity of the secondary recipients
+ of the message.
+
+b. Bcc
+
+ This field contains the identity of additional recipients of
+ the message. The contents of this field are not included in
+ copies of the message sent to the primary and secondary
+ recipients. Some systems may choose to include the text of
+ the "Bcc" field only in the author(s)'s copy, while others
+ may also include it in the text sent to all those indicated
+ in the "Bcc" list.
+
+
+
+B. REFERENCE SPECIFICATION FIELDS
+
+
+1. Message-ID
+
+This field contains a unique identifier (the phrase) which refers
+to THIS version of THIS message. The uniqueness of the message
+identifier is guaranteed by the host which generates it. This
+identifier is intended to be machine readable and not necessarily
+meaningful to humans. A message identifier pertains to exactly
+one instantiation of a particular message; subsequent revisions
+to the message should each receive a new message identifier.
+
+
+2. In-Reply-To
+
+The contents of this field identify previous correspondence which
+this message answers. Note that if message identifiers are used
+in this field, they must use the mach-id specification format.
+
+
+Standard for the Format of Text Messages 23
+IV. Semantics
+ B. Reference Specification Fields
+
+
+
+3. References
+
+The contents of this field identify other correspondence which
+this message references. Note that if message identifiers
+are used, they must use the mach-id specification format.
+
+
+4. Keywords
+
+This field contains keywords or phrases, separated by commas.
+
+
+
+C. OTHER FIELDS AND SYNTACTIC ITEMS
+
+
+1. Subject
+
+The "Subject" field is intended to provide as much information as
+necessary to adequately summarize or indicate the nature of the
+message.
+
+
+2. Comments
+
+Permits adding text comments onto the message without disturbing
+the contents of the message's body.
+
+
+3. Extension-field
+
+A relatively limited number of common fields have been defined in
+this document. As network mail requirements dictate, additional
+fields may be standardized. The authors of this document will
+regulate the publishing of such definitions as extensions to the
+basic specification.
+
+
+4. User-defined-field
+
+Individual users of network mail are free to define and use
+additional header fields. Such fields must have names which are
+not already used in the current specification or in any
+definitions of extension-fields, and the overall syntax of these
+user-defined-fields must conform to this specification's rules
+for delimiting and folding fields. Due to the extension-field
+publishing process, the name of a user-defined-field may be pre-
+empted.
+
+
+
+
+Standard for the Format of Text Messages 24
+IV. Semantics
+ D. Dates
+
+
+
+D. DATES AND TIMES
+
+If included, day-of-week must be the day implied by the date
+specification.
+
+Time zone may be indicated in several ways. The military
+standard uses a single character for each zone. "Z" is
+Greenwhich Mean Time; "A" indicates one hour earlier, and "M"
+indicates 12 hours earlier; "N" is one hour later, and "Y" is 12
+hours later. The letter "J" is not used. The other remaining
+two forms are taken from ANSI standard X3.51-1975. One allows
+explicit indication of the amount of offset from GMT; the other
+uses common 3-character strings for indicating time zones in
+North America.
+
+
+Standard for the Format of Text Messages 25
+V. Examples
+A. Addresses
+
+
+
+
+
+ V. EXAMPLES
+
+
+A. ADDRESSES
+
+
+1. Alfred E. Neuman <Neuman at BBN-TENEXA>
+
+2. Neuman@BBN-TENEXA
+
+These two "Alfred E. Neuman" examples have identical semantics,
+as far as the operation of the local host's mail sending
+(distribution) program (also sometimes called its "mailer") and
+the remote host's FTP server are concerned. In the first
+example, the "Alfred E. Neuman" is ignored by the mailer, as
+"Neuman at BBN-TENEXA" completely specifies the recipient. The
+second example contains no superfluous information, and, again,
+"Neuman@BBN-TENEXA" is the intended recipient.
+
+
+3. Al Neuman at BBN-TENEXA
+
+This is identical to "Al Neuman <Al Neuman at BBN-TENEXA>". That
+is, the full phrase, "Al Neuman", is passed to the FTP server.
+Note that not all FTP servers accept multi-word identifiers; and
+some that do accept them will treat each word as a different
+addressee (in this case, attempting to send a copy of the message
+to "Al" and a copy to "Neuman").
+
+
+4. "George Lovell, Ted Hackle" <Shared-Mailbox at Office-1>
+
+This form might be used to indicate that a single mailbox is
+shared by several users. The quoted string is ignored by the
+originating host's mailer, as "Shared-Mailbox at Office-1"
+completely specifies the destination mailbox.
+
+
+4. Wilt (the Stilt) Chamberlain at NBA
+
+The "(the Stilt)" is a comment, which is NOT included in the
+destination mailbox address handed to the originating system's
+mailer. The address is the string "Wilt Chamberlain", with
+exactly one space between the first and second words. (The
+quotation marks are not included.)
+
+
+
+
+Standard for the Format of Text Messages 26
+V. Examples
+B. Address Lists
+
+
+
+B. ADDRESS LISTS
+
+ Gourmets: Pompous Person <WhoZiWhatZit at Cordon-Bleu>,
+ Cooks: Childs at WGBH, Galloping Gourmet at
+ ANT (Australian National Television);,
+ Wine Lovers: Cheapie at Discount-Liquors,
+ Port at Portugal;;,
+ Jones at SEA
+
+This group list example points out the use of comments, the
+nesting of groups, and the mixing of addresses and groups. Note
+that the two consecutive semi-colons preceding "Jones at SEA"
+mean that Jones is NOT a member of the Gourmets group.
+
+
+C. ORIGINATOR ITEMS
+
+
+1. Author-sent
+
+George Jones logs into his Host as "Jones". He sends mail
+himself.
+
+ From: Jones at Host
+or
+ From: George Jones <Jones at Host>
+
+
+2. Secretary-sent
+
+George Jones logs in as Jones on his Host. His secretary, who
+logs in as Secy on Shost sends mail for him. Replies to the mail
+should go to George, of course.
+
+ From: George Jones <Jones at Host>
+ Sender: Secy at SHost
+
+
+3. Shared directory or unrepresentative directory-name
+
+George Jones logs in as Group at Host. He sends mail himself;
+replies should go to the Group mailbox.
+
+ From: George Jones <Group at Host>
+
+
+
+Standard for the Format of Text Messages 27
+V. Examples
+C. Originator Items
+
+
+
+4. Secretary-sent, for user of shared directory
+
+George Jones' secretary sends mail for George in his capacity as
+a member of Group while logged in as Secy at Host. Replies
+should go to Group.
+
+ From: George Jones<Group at Host>
+ Sender: Secy at Host
+
+Note that there need not be a space between "Jones" and the "<",
+but adding a space enhances readability (as is the case in other
+examples).
+
+
+5. Secretary acting as full agent of author
+
+George Jones asks his secretary (Secy at Host) to send a message
+for him in his capacity as Group. He wants his secretary to
+handle all replies.
+
+ From: George Jones <Group at Host>
+ Sender: Secy at Host
+ Reply-To: Secy at Host
+
+
+6. Agent for user without online mailbox
+
+A non-ARPANET user friend of George's, Sarah, is visting.
+George's secretary sends some mail to a friend of Sarah in
+computer-land. Replies should go to George, whose mailbox is
+Jones at Host.
+
+ From: Sarah Friendly
+ Sender: Secy at Host
+ Reply-To: Jones at Host
+
+
+7. Sent by member of a committee
+
+George is a member of a committee. He wishes to have any replies
+to his message go to all committee members.
+
+ From: George Jones
+ Sender: Jones at Host
+ Reply-To: Big-committee: Jones at Host,
+ Smith at Other-Host,
+ Doe at Somewhere-Else;
+
+Note that if George had not included himself in the enumeration
+of Big-committee, he would not have gotten an implicit reply; the
+presence of the "Reply-to" field SUPERSEDES the sending of a
+reply to the person named in the "From" field.
+
+Standard for the Format of Text Messages 28
+V. Examples
+C. Originator Items
+
+
+
+8. Example of INCORRECT use
+
+George desires a reply to go to his secretary; therefore his
+secretary leaves his mailbox address off the "From" field,
+leaving only his name, which is not, itself, a mailbox address.
+
+ From: George Jones
+ Sender: Secy at SHost
+
+THIS IS NOT PERMITTED. Replies are NEVER implicitly sent to the
+"Sender"; George's secretary should have used the "Reply-To"
+field, or the mail creating program should have forced the
+secretary to.
+
+9. Agent for member of a committee
+
+George's secretary sends out a message which was authored jointly
+by all the members of the "Big-committee".
+
+ From: Big-committee: Jones at Host,
+ Smith at Other-Host,
+ Doe at Somewhere-Else;
+ Sender: Secy at SHost
+
+
+
+D. COMPLETE HEADERS
+
+
+1. Minimum required:
+
+ Date: 26 August 1976 1429-EDT
+ From: Jones at Host
+
+
+2. Using some of the additional fields:
+
+ Date: 26 August 1976 1430-EDT
+ From:George Jones<Group at Host>
+ Sender:Secy at SHOST
+ To:Al Neuman at Mad-Host,
+ Sam Irving at Other-Host
+ Message-ID: <some string at SHOST>
+
+
+
+Standard for the Format of Text Messages 29
+V. Examples
+D. Complete Headers
+
+
+
+3. About as complex as you're going to get:
+
+ Date : 27 Aug 1976 0932-PDT
+ From : Ken Davis <KDavis at Other-Host>
+ Subject : Re: The Syntax in the RFC
+ Sender : KSecy at Other-Host
+ Reply-To : Sam Irving at Other-Host
+ To : George Jones <Group at Host>,
+ Al Neuman at Mad-Host
+ cc : Important folk:
+ Tom Softwood <Balsa at Another-Host>,
+ Sam Irving at Other-Host;,
+ Standard Distribution::Include:
+ </main/davis/people/standard at Other-Host,
+ "<Jones>standard.dist.3" at Tops-20-Host>,
+ (The following Included Postal list is part
+ of Standard Distribution.)
+ :Postal::Include: Non-net-addrs@Other-host;,
+ :Postal: "Sam Irving, P.O. Box 001, Las Vegas,
+ Nevada" (So that he can stay
+ apprised of the situation)
+ Comment : Sam is away on business. He asked me to handle
+ his mail for him. He'll be able to provide a
+ more accurate explanation when he returns
+ next week.
+ In-Reply-To: <some string at SHOST>
+ Special (action): This is a sample of multi-word field-
+ names, using a range of characters. There
+ could also be a field-name "Special (info)".
+ Message-ID: <4231.629.XYzi-What at Other-Host>
+
+
+Standard for the Format of Text Messages 31
+Appendix
+A. Alphabetical Listing of Syntax Rules
+
+
+
+
+
+ APPENDIX
+
+
+
+A. ALPHABETICAL LISTING OF SYNTAX RULES
+
+
+address = host-phrase / quoted-string
+ / (*phrase "<" #address ">" )
+ / (*phrase ":" #address ";" )
+ / (":" ("Include" / "Postal" / atom) ":" address)
+ALPHA = <any TELNET ASCII alphabetic character>
+atom = 1*<any CHAR except specials and CTLs>
+
+CHAR = <any TELNET ASCII character>
+comment = "(" *(ctext / comment / quoted-pair) ")"
+CR = <TELNET ASCII carriage return>
+CRLF = CR LF
+ctext = <any CHAR excluding "(", ")", CR, LF and
+ including linear-white-space>
+CTL = <any TELNET ASCII control character and DEL>
+
+date = 1*2DIGIT ["-"] month ["-"] (2DIGIT /4DIGIT)
+date-field = "Date" ":" date-time
+date-time = [ day-of-week "," ] date time
+day-of-week = "Monday" / "Mon" / "Tuesday" / "Tue"
+ / "Wednesday" / "Wed" / "Thursday" / "Thu"
+ / "Friday" / "Fri" / "Saturday" / "Sat"
+ / "Sunday" / "Sun"
+delimiters = specials / comment / linear-white-space
+DIGIT = <any TELNET ASCII digit>
+
+extension-field = <Any field which is defined in a document
+ published as a formal extension to this
+ specification>
+
+field = field-name ":" [ field-body ] CRLF
+
+fields = date-field originator-fields *optional-field
+field-body = field-body-contents
+ [CRLF LWSP-char field-body]
+field-body-contents = <the TELNET ASCII characters making up the
+ field-body, as defined in the following sections,
+ and consisting of combinations of atom, quoted-
+ string, and specials tokens, or else consisting of
+ texts>
+field-name = fnatom *(LWSP-char [fnatom])
+fnatom = 1*<any CHAR, excluding CTLs, SPACE, and ":">
+
+
+Standard for the Format of Text Messages 32
+Appendix
+A. Alphabetical Listing of Syntax Rules
+
+
+
+host-indicator = 1*( ("at" / "@") node )
+host-phrase = phrase host-indicator
+hour = 2DIGIT [":"] 2DIGIT [ [":"] 2DIGIT ]
+HTAB = <TELNET ASCII horizontal-tab>
+
+LF = <TELNET ASCII linefeed>
+linear-white-space = 1*([CRLF] LWSP-char)
+LWSP-char = SPACE / HTAB
+
+mach-id = "<" host-phrase ">"
+mailbox = host-phrase / (phrase mach-id)
+message = fields *(CRLF *text)
+month = "January" / "Jan" / "February" / "Feb"
+ / "March" / "Mar" / "April" / "Apr"
+ / "May" / "June" / "Jun"
+ / "July" / "Jul" / "August" / "Aug"
+ / "September" / "Sep" / "October" / "Oct"
+ / "November" / "Nov" / "December" / "Dec"
+
+node = word / 1*DIGIT
+
+optional-field =
+ "To" ":" #address
+ / "cc" ":" #address
+ / "bcc" ":" #address
+ / "Subject" ":" *text
+ / "Comments" ":" *text
+ / "Message-ID" ":" mach-id
+ / "In-Reply-To"":" #(phrase / mach-id)
+ / "References" ":" #(phrase / mach-id)
+ / "Keywords" ":" #phrase
+ / extension-field
+ / user-defined-field
+originator-fields =
+ ( "From" ":" mailbox
+ ["Reply-To" ":" #address] )
+ / ( "From" ":" 1#address
+ "Sender" ":" mailbox
+ ["Reply-To" ":" #address] )
+
+phrase = 1*word
+
+quoted-pair = "\" CHAR
+quoted-string = <"> *(qtext / quoted-pair) <">
+qtext = <any CHAR except <">, CR, or LF and including
+ linear-white-space>
+SPACE = <TELNET ASCII space>
+specials = "(" / ")" / "<" / ">" / "@"/ "," / ";" / ":"
+ / "\" / <">
+
+text = <any CHAR, including bare CR and/or bare LF, but
+ NOT including CRLF>
+
+Standard for the Format of Text Messages 33
+Appendix
+A. Alphabetical Listing of Syntax Rules
+
+
+
+time = hour zone
+
+user-defined-field = <Any field which has not been defined in
+ this specification or published as an extension to
+ this specification; names for such fields must be
+ unique and may be preempted by putlished
+ extensions>
+
+word = atom / quoted-string
+
+zone = ( ("+" / "-") 4DIGIT )
+ / ( ["-"] (1ALPHA
+ / "GMT" / "NST" / "AST" / "ADT" / "EST" / "EDT"
+ / "CST" / "CDT" / "MST" / "MDT" / "PST" / "PDT"
+ / "YST" / "YDT" / "HST" / "HDT" / "BST" / "BDT" ))
+
+<"> = <TELNET ASCII quote mark>
+
+
+Standard for the Format of Text Messages 35
+Appendix
+B. Simple Parsing
+
+
+
+
+B. SIMPLE PARSING
+
+
+ Some mail-reading software systems may wish to perform only
+minimal processing, ignoring the internal syntax of structured
+field-bodies and treating them the same as unstructured-field-
+bodies. Such software will need only to distinguish:
+
+ - Header fields from the message body,
+ - Beginnings of fields from lines which continue fields,
+ - Field-names from field-contents.
+
+ The abbreviated set of syntactic rules which follows will
+suffice for this purpose. They describe a limited view of
+messages and are a subset of the syntactic rules provided in the
+main part of this specification. One small exception is that the
+contents of field-bodies consist only of text:
+
+
+SYNTAX:
+
+message = *field *(CRLF *text)
+
+field = field-name ":" [field-body] CRLF
+
+field-name = fnatom *( LWSP-char [fnatom] )
+
+fnatom = 1*<any CHAR, excluding CTLs, SPACE, and ":">
+
+
+field-body = *text [CRLF LWSP-char field-body]
+
+
+SEMANTICS:
+
+ Headers occur before the message body and are terminated by
+a null line (i.e., two contiguous CRLFs).
+
+ A line which continues a header field begins with a SPACE or
+HTAB character, while a line beginning a field starts with a
+printable character which is not a colon.
+
+ A field-name consists of one or more printable characters
+(excluding colon), each separated by one or more SPACES or HTABS.
+A field-name MUST be contained on one line. Upper and lower case
+are not distinguished when comparing field-names.
+
+
+Standard for the Format of Text Messages 37
+Bibliography
+
+
+
+
+
+
+ BIBLIOGRAPHY
+
+
+ANSI. Representations of universal time, local time
+ differentials, and United States time zone references for
+ information interchange. ANSI X3.51-1975; American National
+ Standards Institute: New York, 1975.
+
+Bhushan, A.K. The File Transfer Protocol. ARPANET Request for
+ Comments, No. 354, Network Information Center No. 10596;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, July 1972.
+
+Bhushan, A.K. Comments on the File Transfer Protocol. ARPANET
+ Request for Comments, No. 385, Network Information Center No.
+ 11357; Augmentation Research Center, Stanford Research
+ Institute: Menlo Park, August 1972.
+
+Bhushan, A.K., Pogran, K.T., Tomlinson, R.S., and White, J.E.
+ Standardizing Network Mail Headers. ARPANET Request for
+ Comments, No. 561, Network Information Center No. 18516;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, September 1973.
+
+Feinler, E.J. and Postel, J.B. ARPANET Protocol Handbook.
+ Network Information Center No. 7104; Augmentation Research
+ Center, Stanford Research Institute: Menlo Park, April 1976.
+ (NTIS AD A003890).
+
+McKenzie, A. File Transfer Protocol. ARPANET Request for
+ Comments, No. 454, Network Information Center No. 14333;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, February 1973.
+
+McKenzie, A. TELNET Protocol Specification. Network Information
+ Center No. 18639; Augmentation Research Center, Stanford
+ Research Institute: Menlo Park, August 1973.
+
+Myer, T.H. and Henderson, D.A. Message Transmission Protocol.
+ ARPANET Request for Comments, No. 680, Network Information
+ Center No. 32116; Augmentation Research Center, Stanford
+ Research Institute: Menlo Park, 1975.
+
+Neigus, N. File Transfer Protocol. ARPANET Request for
+ Comments, No. 542, Network Information Center No. 17759;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, July 1973.
+
+Pogran, K., Vittal, J., Crocker, D. and Henderson, A. Proposed
+ official standard for the format of ARPA network messages.
+
+Standard for the Format of Text Messages 38
+Bibliography
+
+
+
+
+ ARPANET Request for Comments, No. 724, Network Information
+ Center No. 37435; Augmentation Research Center, Stanford
+ Research Institute: Menlo Park, May 1977.
+
+Postel, J.B. Revised FTP Reply Codes. ARPANET Request for
+ Comments, No. 640, Network Information Center No. 30843;
+ Augmentation Research Center, Stanford Research Institute:
+ Menlo Park, June 1974.
+ \ No newline at end of file