rfc524.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,916 行 · 第 1/5 页
TXT
1,916 行
Network Working Group J. White
Request for Comments: 524 SRI-ARC
NIC: 17140 13 June 1973
A Proposed Mail Protocol
AUTHOR'S INTENT
This is the document I offered in (15146,) to write. It's a proposed
specification for handling mail in the Network -- a Mail Protocol.
Main handling is currently implemented as two FTP commands, MAIL and
MLFL, which permit an FTP user process to deliver a file or string of
text to an FTP server process, designating it as mail to be made
available to a user, identified by a local name, in its host. The
protocol proposed here is much richer than that, both in terms of the
functions it supports, and in terms of the flexibility it provides.
Although one can (I think) and might, implement software on the basis
of this document, this REALLY IS a Request for Comments. Comments,
questions, position papers are solicited. There are, I'm sure, bugs
in the protocol specified here, and I hope that readers will point
them out via RFC as they discover them.
Various members of the Network community have, during the last few
months, pointed out to me specific inadequacies in the existing mail
commands and asked me to be conscious of them in designing a new
protocol. I've tried to do that. If anyone feels that his concern
wasn't properly dealt with here, or that it slipped through the
cracks entirely (for which I apologize in advance), I would
appreciate it if he would prod me once more.
INTRODUCTION
THE MAIL PROTOCOL ENVIRONMENT
The Mail Protocol (MP) is implemented by Mail user and server
processes, in keeping with the model for previous high-level
protocols. The Mail user and server processes are further
specified to be also FTP user and server processes, respectively.
That is, MP is implemented as a set of commands accessible from
within the FTP command space.
The MP command set is defined to lie conceptually within a
subsystem, invoked from the FTP command space with the command
MAIL <CFLF>.
White [Page 1]
RFC 524 A Proposed Mail Protocol 13 June 1973
NOTE: Since a command called 'MAIL' already exists within the
FTP command space, the command name 'XMAIL' might substitute
for 'MAIL' while the current mail commands are being phased
out.
The MP command set may or may not (according to the implementation
of a particular server) be implemented by a process distinct from
that which implements FTP proper.
The following are implications of the 'subsystem' concept, of
which the reader (and implementer) must be aware:
(1) Names of MP commands are known only within the MP
subsystem. MP commands must (and should naturally) be rejected
by the server if the user process presents them outside of the
subsystem.
(2) Exit from the Mail subsystem (to the FTP command space) is
effected with and only with the command EXIT <CRLF>. FTP
commands must be rejected by the server if the user presents
them while inside the subsystem (i.e., before EXIT is issued).
(3) The same command name may be assigned without ambiguity to
two entirely different commands, provided that one lies within
the FTP command space and the other within MP, the two being
distinguishable by their contexts. MP and FTP therefore do not
compete for command names, and MP command names may be chosen
without regard for the environment in which the subsystem
resides.
NOTE: It so happens that there are commands DEFINED within MP
which duplicate the functions of FTP commands and bear the same
names. The effective result is that some commands are
explicitly allowed within MP. The reader will understand that
this fact is consistent with the conventions described in 1-3
above, and that no ambiguities result.
The subsystem concept (if not the name 'subsystem') is taken from
Mike Padlipsky's Unified User Level Protocol (UULP), which the
author of the present document strongly supports. The fact that
MP is accessed from FTP, rather than both FTP and MP being
accessed independently from a more general executive program, is
simply a concession to the fact that FTP is widely implemented and
UULP isn't. The author hopes that protocol development will, in
the near future, begin to proceed along the lines exemplified by
UULP.
White [Page 2]
RFC 524 A Proposed Mail Protocol 13 June 1973
MP conforms to FTP in general syntax. In particular, commands and
their responses are strings of NVT characters; command names are
limited to four or fewer, upper- or lower-case, alphameric
characters, and are terminated by the character SP; commands are
generally terminated with the TELNET New Line sequence (CR LF);
command responses contain both numeric (process readable) and text
(human readable) portions. Both reader and implementer are
referred to the FTP protocol document for a detailed description
of such matters; no attempt has been made to duplicate the
discussion in the present document.
The FTP protocol document assigns those replies whose second digit
is '6' to RJE functions. In like manner MP appropriates those
reply codes whose second digit is '7' for reporting results
peculiar to its functions. It is, however, the author's position
that FTP, MP, and the RJE protocol are all best implemented as
subsystems under a common UULP executive, in which case a single
subset of the reply space could be used unambiguously by all three
protocols (and any yet to be defined), since every reply would
implicitly be qualified by the name of the subsystem from which it
emanates.
THE MAIL MODEL
MP defines mail to be text communicated between users (both human
and processes) in less that (but ideally approaching) real time.
The definition excludes so-called console-to-console
communication, where users exchange information at the character
or line level.
Pieces of mail are characterized by such attributes as title,
content, author, and recipient. A piece of mail may be a one- or
two-line message sent from one individual to another, a draft of a
document sent by one individual to a design group for review, a
polished, formal document sent from one group to another, a
message sent to a human user by a process (e.g., an RJE server
process might notify a user by Network Mail when his job has
completed), etc. All such forms of communication are mail and are
supported by MP.
Pieces of mail can be forwarded from one location to another
Pieces of mail can be replied to.
The identity of the author of a piece of mail can be verified,
avoiding forgery and misrepresentation.
White [Page 3]
RFC 524 A Proposed Mail Protocol 13 June 1973
Pieces of mail can be permanently recorded, assigned a long-term
identifier by which they can be forever be retrieved for
reference, and entered in catalogs. And access to such recorded
mail can be restricted to a specified subset of the user
community.
Some hosts accept mail whose recipients reside elsewhere in the
Network, and assume responsibility for delivering the mail to them
(worrying about retrying delivery when hosts are down, etc.), and
acknowledging its delivery to the sender.
The picture being painted for the reader is one in which processes
cooperate in various ways to flexibly move and manage Network
mail. The author claims (without proof, of course) that the
picture will in the future get yet more complicated, but that the
proposal specified here can be conveniently enlarged to handle
that picture too.
ORGANIZATION OF THIS DOCUMENT
The rest of this document consists of the following components:
GLOSSARY
The concepts introduced briefly in the section above are more
formally defined, and their manner of representation in the
protocol specified.
MP FUNCTIONS
The command sequence is defined by which a user process
initiates each of the logical functions (e.g., Distribution,
Recording, Delivery) which can be performed by a Mail server
process.
EXAMPLE
An example of the command-response exchange between a user and
server is given.
COMMAND SUMMARY
A summary of MP commands is given.
COMMAND REPLIES
Reply code assignments are given and briefly explained.
White [Page 4]
RFC 524 A Proposed Mail Protocol 13 June 1973
FORMAL SYNTAX
The formal syntax of the command language is specified.
In all sections but the last (i.e., the formal syntax presentation),
verbose keyword forms are employed, in the interests of clarity.
These verbose forms have no existence anywhere but in this document;
in implementing a Mail user or server process, the terse keyword
forms which appear in the formal syntax presentation are to be
employed
GLOSSARY
Terms are listed here in alphabetical order. Words or phrases which
appear in the definitions with initial letters capitalized are
themselves formally defined elsewhere in the glossary.
ACCESS LIST (for a piece of Recorded Mail)
That set of individuals with access to a piece of Recorded Mail,
and for each such individual, the type(s) of access granted to
him.
An Access List is represented in the Protocol as a series of
command pairs (juxtaposed in the command stream), each pair
consisting of an ACCESS command followed immediately (and
optionally) by an ACCESSTYPES command. Each pair of commands
corresponds to one individual in the set.
ACCESS <individual> <CA>
ACCESSTYPE <accesstypes> <CA>
Command arguments identify the Individual to whom access is
granted, and specify the kind(s) of access allowed him.
Either Read Access, Controlling Access, or both may be
granted.
If no Individual is specified, All is implied. In the
absence of an explicit ACCESSTYPES command, one with only
Read Access specified is to be assumed.
In the absence of an explicit Access List, one granting Read
Access to All and Controlling Access to the Author(s) and the
Clerk is to be assumed.
White [Page 5]
RFC 524 A Proposed Mail Protocol 13 June 1973
ACKNOWLEDGMENT (for a piece of Mail)
A form of Unrecorded Mail, generated by a Distribution Agent,
whose Recipient is the Monitor for a previous piece of Mail, which
acknowledges Delivery -- successful or otherwise -- to the
Recipient(s) of that first piece of Mail.
An Acknowledgment bears the Serial Number of the Mail it
acknowledges, as the Reference Serial Number.
ACKNOWLEDGMENT CONDITION (for Acknowledgments)
The attribute of an Acknowledgment which determines the
circumstances under which it will be generated by the Distribution
Agent.
The following Acknowledgment Conditions are defined:
ALWAYS
Acknowledgment is given when all Deliveries are complete,
regardless of whether or not they are all completed
successfully.
FAILURE
Acknowledgment is given when all Deliveries are complete if
and only if Delivery to one or more Recipient(s) fails.
NEVER
An Acknowledgment is never made.
An Acknowledgment Condition is represented in the Protocol by the
command:
ACKCONDITION <ackcondition> <CA>
In the absence of an explicit ACKCONDITION command, one with an
argument of FAILURE is to be assumed.
ACKNOWLEDGMENT TYPE (for Acknowledgments and Progress Reports)
The attribute of an Acknowledgment or Progress Report which
determines the nature of its Content.
White [Page 6]
RFC 524 A Proposed Mail Protocol 13 June 1973
The following Acknowledgment Types are defined:
TERSE
The Content of a TERSE Acknowledgment or Progress Report is
specified by the Protocol to be an unembellished list of the
Mail's Recipient(s), and the current Delivery Status for
each (except that those Recipient(s) whose Delivery Status
is SUCCESSFUL shall not be included in the list).
The Content of a TERSE Acknowledgment is one or more
instances of the following:
<deliverystatus> <individual> <CRLF>
TERSE Acknowledgments and Progress Reports are intended to
be process-readable.
VERBOSE
The Content of a VERBOSE Acknowledgment or Progress Report
is not specified by the Protocol, but might include a list
of those Recipient(s) to whom the Mail could not be
delivered and why, the times at which Delivery was made to
others, etc.
VERBOSE Acknowledgments and Progress Reports are intended to
be human-readable.
An Acknowledgment Type is represented in the Protocol by the
command:
ACKTYPE <acktype> <CA>
In the absence of an explicit ACKTYPE command, one with an
argument of TERSE is to be assumed.
ALL
Every conceivable Individual.
AUTHOR (of a piece of Mail)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?