rfc822 (5 of 5)
ron at brl-adm.UUCP
ron at brl-adm.UUCP
Tue May 20 14:00:14 AEST 1986
Standard for ARPA Internet Text Messages
enumeration of The Committee, he would not have gotten an
implicit reply; the presence of the "Reply-to" field SUPER-
SEDES the sending of a reply to the person named in the "From"
field.
A.2.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 secre-
tary to handle all replies.
From: George Jones <Group at Host>
Sender: Secy at Host
Reply-To: Secy at Host
A.2.6. Agent for user without online mailbox
A friend of George's, Sarah, is visiting. George's
secretary sends some mail to a friend of Sarah in computer-
land. Replies should go to George, whose mailbox is Jones at
Registry.
From: Sarah Friendly <Secy at Registry>
Sender: Secy-Name <Secy at Registry>
Reply-To: Jones at Registry.
A.2.7. Agent for member of a committee
George's secretary sends out a message which was authored
jointly by all the members of a committee. Note that the name
of the committee cannot be specified, since <group> names are
not permitted in the From field.
From: Jones at Host,
Smith at Other-Host,
Doe at Somewhere-Else
Sender: Secy at SHost
August 13, 1982 - 38 - RFC #822
Standard for ARPA Internet Text Messages
A.3. COMPLETE HEADERS
A.3.1. Minimum required
Date: 26 Aug 76 1429 EDT Date: 26 Aug 76 1429 EDT
From: Jones at Registry.Org or From: Jones at Registry.Org
Bcc: To: Smith at Registry.Org
Note that the "Bcc" field may be empty, while the "To" field
is required to have at least one address.
A.3.2. Using some of the additional fields
Date: 26 Aug 76 1430 EDT
From: George Jones<Group at Host>
Sender: Secy at SHOST
To: "Al Neuman"@Mad-Host,
Sam.Irving at Other-Host
Message-ID: <some.string at SHOST>
A.3.3. About as complex as you're going to get
Date : 27 Aug 76 0932 PDT
From : Ken Davis <KDavis at This-Host.This-net>
Subject : Re: The Syntax in the RFC
Sender : KSecy at Other-Host
Reply-To : Sam.Irving at Reg.Organization
To : George Jones <Group at Some-Reg.An-Org>,
Al.Neuman at MAD.Publisher
cc : Important folk:
Tom Softwood <Balsa at Tree.Root>,
"Sam Irving"@Other-Host;,
Standard Distribution:
/main/davis/people/standard at Other-Host,
"<Jones>standard.dist.3"@Tops-20-Host>;
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 DBM.Group>, George's message
X-Special-action: This is a sample of user-defined field-
names. There could also be a field-name
"Special-action", but its name might later be
preempted
Message-ID: <4231.629.XYzi-What at Other-Host>
August 13, 1982 - 39 - RFC #822
Standard for ARPA Internet Text Messages
B. SIMPLE FIELD 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:
o Header fields from the message body,
o Beginnings of fields from lines which continue fields,
o Field-names from field-contents.
The abbreviated set of syntactic rules which follows will
suffice for this purpose. It describes a limited view of mes-
sages and is a subset of the syntactic rules provided in the main
part of this specification. One small exception is that the con-
tents of field-bodies consist only of text:
B.1. SYNTAX
message = *field *(CRLF *text)
field = field-name ":" [field-body] CRLF
field-name = 1*<any CHAR, excluding CTLs, SPACE, and ":">
field-body = *text [CRLF LWSP-char field-body]
B.2. 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, space, and control-characters). A field-name
MUST be contained on one line. Upper and lower case are not dis-
tinguished when comparing field-names.
August 13, 1982 - 40 - RFC #822
Standard for ARPA Internet Text Messages
C. DIFFERENCES FROM RFC #733
The following summarizes the differences between this stan-
dard and the one specified in Arpanet Request for Comments #733,
"Standard for the Format of ARPA Network Text Messages". The
differences are listed in the order of their occurrence in the
current specification.
C.1. FIELD DEFINITIONS
C.1.1. FIELD NAMES
These now must be a sequence of printable characters. They
may not contain any LWSP-chars.
C.2. LEXICAL TOKENS
C.2.1. SPECIALS
The characters period ("."), left-square bracket ("["), and
right-square bracket ("]") have been added. For presentation
purposes, and when passing a specification to a system that
does not conform to this standard, periods are to be contigu-
ous with their surrounding lexical tokens. No linear-white-
space is permitted between them. The presence of one LWSP-
char between other tokens is still directed.
C.2.2. ATOM
Atoms may not contain SPACE.
C.2.3. SPECIAL TEXT
ctext and qtext have had backslash ("\") added to the list of
prohibited characters.
C.2.4. DOMAINS
The lexical tokens <domain-literal> and <dtext> have been
added.
C.3. MESSAGE SPECIFICATION
C.3.1. TRACE
The "Return-path:" and "Received:" fields have been specified.
August 13, 1982 - 41 - RFC #822
Standard for ARPA Internet Text Messages
C.3.2. FROM
The "From" field must contain machine-usable addresses (addr-
spec). Multiple addresses may be specified, but named-lists
(groups) may not.
C.3.3. RESENT
The meta-construct of prefacing field names with the string
"Resent-" has been added, to indicate that a message has been
forwarded by an intermediate recipient.
C.3.4. DESTINATION
A message must contain at least one destination address field.
"To" and "CC" are required to contain at least one address.
C.3.5. IN-REPLY-TO
The field-body is no longer a comma-separated list, although a
sequence is still permitted.
C.3.6. REFERENCE
The field-body is no longer a comma-separated list, although a
sequence is still permitted.
C.3.7. ENCRYPTED
A field has been specified that permits senders to indicate
that the body of a message has been encrypted.
C.3.8. EXTENSION-FIELD
Extension fields are prohibited from beginning with the char-
acters "X-".
C.4. DATE AND TIME SPECIFICATION
C.4.1. SIMPLIFICATION
Fewer optional forms are permitted and the list of three-
letter time zones has been shortened.
C.5. ADDRESS SPECIFICATION
August 13, 1982 - 42 - RFC #822
Standard for ARPA Internet Text Messages
C.5.1. ADDRESS
The use of quoted-string, and the ":"-atom-":" construct, have
been removed. An address now is either a single mailbox
reference or is a named list of addresses. The latter indi-
cates a group distribution.
C.5.2. GROUPS
Group lists are now required to to have a name. Group lists
may not be nested.
C.5.3. MAILBOX
A mailbox specification may indicate a person's name, as
before. Such a named list no longer may specify multiple
mailboxes and may not be nested.
C.5.4. ROUTE ADDRESSING
Addresses now are taken to be absolute, global specifications,
independent of transmission paths. The <route> construct has
been provided, to permit explicit specification of transmis-
sion path. RFC #733's use of multiple at-signs ("@") was
intended as a general syntax for indicating routing and/or
hierarchical addressing. The current standard separates these
specifications and only one at-sign is permitted.
C.5.5. AT-SIGN
The string " at " no longer is used as an address delimiter.
Only at-sign ("@") serves the function.
C.5.6. DOMAINS
Hierarchical, logical name-domains have been added.
C.6. RESERVED ADDRESS
The local-part "Postmaster" has been reserved, so that users can
be guaranteed at least one valid address at a site.
August 13, 1982 - 43 - RFC #822
Standard for ARPA Internet Text Messages
D. ALPHABETICAL LISTING OF SYNTAX RULES
address = mailbox ; one addressee
/ group ; named list
addr-spec = local-part "@" domain ; global address
ALPHA = <any ASCII alphabetic character>
; (101-132, 65.- 90.)
; (141-172, 97.-122.)
atom = 1*<any CHAR except specials, SPACE and CTLs>
authentic = "From" ":" mailbox ; Single author
/ ( "Sender" ":" mailbox ; Actual submittor
"From" ":" 1#mailbox) ; Multiple authors
; or not sender
CHAR = <any ASCII character> ; ( 0-177, 0.-127.)
comment = "(" *(ctext / quoted-pair / comment) ")"
CR = <ASCII CR, carriage return> ; ( 15, 13.)
CRLF = CR LF
ctext = <any CHAR excluding "(", ; => may be folded
")", "\" & CR, & including
linear-white-space>
CTL = <any ASCII control ; ( 0- 37, 0.- 31.)
character and DEL> ; ( 177, 127.)
date = 1*2DIGIT month 2DIGIT ; day month year
; e.g. 20 Jun 82
dates = orig-date ; Original
[ resent-date ] ; Forwarded
date-time = [ day "," ] date time ; dd mm yy
; hh:mm:ss zzz
day = "Mon" / "Tue" / "Wed" / "Thu"
/ "Fri" / "Sat" / "Sun"
delimiters = specials / linear-white-space / comment
destination = "To" ":" 1#address ; Primary
/ "Resent-To" ":" 1#address
/ "cc" ":" 1#address ; Secondary
/ "Resent-cc" ":" 1#address
/ "bcc" ":" #address ; Blind carbon
/ "Resent-bcc" ":" #address
DIGIT = <any ASCII decimal digit> ; ( 60- 71, 48.- 57.)
domain = sub-domain *("." sub-domain)
domain-literal = "[" *(dtext / quoted-pair) "]"
domain-ref = atom ; symbolic reference
dtext = <any CHAR excluding "[", ; => may be folded
"]", "\" & CR, & including
linear-white-space>
extension-field =
<Any field which is defined in a document
published as a formal extension to this
specification; none will have names beginning
with the string "X-">
August 13, 1982 - 44 - RFC #822
Standard for ARPA Internet Text Messages
field = field-name ":" [ field-body ] CRLF
fields = dates ; Creation time,
source ; author id & one
1*destination ; address required
*optional-field ; others optional
field-body = field-body-contents
[CRLF LWSP-char field-body]
field-body-contents =
<the 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 = 1*<any CHAR, excluding CTLs, SPACE, and ":">
group = phrase ":" [#mailbox] ";"
hour = 2DIGIT ":" 2DIGIT [":" 2DIGIT]
; 00:00:00 - 23:59:59
HTAB = <ASCII HT, horizontal-tab> ; ( 11, 9.)
LF = <ASCII LF, linefeed> ; ( 12, 10.)
linear-white-space = 1*([CRLF] LWSP-char) ; semantics = SPACE
; CRLF => folding
local-part = word *("." word) ; uninterpreted
; case-preserved
LWSP-char = SPACE / HTAB ; semantics = SPACE
mailbox = addr-spec ; simple address
/ phrase route-addr ; name & addr-spec
message = fields *( CRLF *text ) ; Everything after
; first null line
; is message body
month = "Jan" / "Feb" / "Mar" / "Apr"
/ "May" / "Jun" / "Jul" / "Aug"
/ "Sep" / "Oct" / "Nov" / "Dec"
msg-id = "<" addr-spec ">" ; Unique message id
optional-field =
/ "Message-ID" ":" msg-id
/ "Resent-Message-ID" ":" msg-id
/ "In-Reply-To" ":" *(phrase / msg-id)
/ "References" ":" *(phrase / msg-id)
/ "Keywords" ":" #phrase
/ "Subject" ":" *text
/ "Comments" ":" *text
/ "Encrypted" ":" 1#2word
/ extension-field ; To be defined
/ user-defined-field ; May be pre-empted
orig-date = "Date" ":" date-time
originator = authentic ; authenticated addr
[ "Reply-To" ":" 1#address] )
phrase = 1*word ; Sequence of words
August 13, 1982 - 45 - RFC #822
Standard for ARPA Internet Text Messages
qtext = <any CHAR excepting <">, ; => may be folded
"\" & CR, and including
linear-white-space>
quoted-pair = "\" CHAR ; may quote any char
quoted-string = <"> *(qtext/quoted-pair) <">; Regular qtext or
; quoted chars.
received = "Received" ":" ; one per relay
["from" domain] ; sending host
["by" domain] ; receiving host
["via" atom] ; physical path
*("with" atom) ; link/mail protocol
["id" msg-id] ; receiver msg id
["for" addr-spec] ; initial form
";" date-time ; time received
resent = resent-authentic
[ "Resent-Reply-To" ":" 1#address] )
resent-authentic =
= "Resent-From" ":" mailbox
/ ( "Resent-Sender" ":" mailbox
"Resent-From" ":" 1#mailbox )
resent-date = "Resent-Date" ":" date-time
return = "Return-path" ":" route-addr ; return address
route = 1#("@" domain) ":" ; path-relative
route-addr = "<" [route] addr-spec ">"
source = [ trace ] ; net traversals
originator ; original mail
[ resent ] ; forwarded
SPACE = <ASCII SP, space> ; ( 40, 32.)
specials = "(" / ")" / "<" / ">" / "@" ; Must be in quoted-
/ "," / ";" / ":" / "\" / <"> ; string, to use
/ "." / "[" / "]" ; within a word.
sub-domain = domain-ref / domain-literal
text = <any CHAR, including bare ; => atoms, specials,
CR & bare LF, but NOT ; comments and
including CRLF> ; quoted-strings are
; NOT recognized.
time = hour zone ; ANSI and Military
trace = return ; path to sender
1*received ; receipt tags
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
pre-empted by published extensions>
word = atom / quoted-string
August 13, 1982 - 46 - RFC #822
Standard for ARPA Internet Text Messages
zone = "UT" / "GMT" ; Universal Time
; North American : UT
/ "EST" / "EDT" ; Eastern: - 5/ - 4
/ "CST" / "CDT" ; Central: - 6/ - 5
/ "MST" / "MDT" ; Mountain: - 7/ - 6
/ "PST" / "PDT" ; Pacific: - 8/ - 7
/ 1ALPHA ; Military: Z = UT;
<"> = <ASCII quote mark> ; ( 42, 34.)
August 13, 1982 - 47 - RFC #822
More information about the Mod.sources.doc
mailing list