RFC524 - Proposed Mail Protocol(2)

时间:2005-02-11 来源: 作者: 点击:
here on the new monitor and it CRLF works fine. I don't understand why I had CRLF problems running your copy of the code at CRLF BBN-TENEX. Are you still unable to reference CRLF the same archived fi
  
here on the new monitor and it <CRLF> works fine. I don't
understand why I had <CRLF> problems running your copy of the code
at <CRLF> BBN-TENEX. Are you still unable to reference <CRLF> the
same archived file from two different <CRLF> TENEXs? <CA2>

The Content of the message is entered.
[200 OK.]

CLER WHITE@SRI-ARC <CR>

The Clerk is identified as White at SRI-ARC.
[330 OK. Now Id, please]

ID id <CA>

His Id is supplied.
[200 OK.]

EXIT <CA>

Exit from the Recording function is effected, and the pathname
'15490' is returned by the Recording Agent for the now Recorded
Mail.
[270 15490 -- is assigned as the pathname.]

DIST <CA>

The Distribution function is invoked.
[200 OK.]

LOC SRI-ARC 15490 <CA>

The message just recorded is specified for Distribution.
[200 OK.]

RECI * DHC <CA>

The Recipient is specified via NIC Ident to be Dave Crocker at
UCLA-NMC.
[200 OK.]

GREE Dave <CA>

A Greeting is given.
[200 OK.]

DISP R

A reply is requested.
[200 OK.]

SIGN Jim

The message is signed.
[200 OK.]

ACKC A <CA>

Acknowledgment of the Mail's Delivery is requested whether
Delivery succeeds or fails..
[200 OK.]

ACKT T <CA>

The Acknowledgment is to be terse.
[200 OK.]

CUT 1 D <CA>

If Delivery hasn't been effected within 24 hours, the attempt
is to be abandoned (and an Acknowledgment of failure returned).
The Monitor (to whom the Acknowledgment is sent) is allowed to
default to the Clerk.
[200 OK.]

SERI serial <CA>

A Serial Number is assigned for purposes of coordinating
Acknowledgment and Reply. A desirable implementation of the
sender's user and server processes is one in which the Serial
Number is assigned by the user process, rather than by the
human user himself in such a way that his server process can
automatically make the association between original Mail, and
subsequent Acknowledgment and Reply.
[200 OK.]

EXIT <CA>

Exit from the Distribution function is effected.
[200 OK.]

EXIT <CA>

Exit from the Mail subsystem is effected.
[200 OK.]

COMMAND SUMMARY

Every command requires at least one reply from the server.

THOSE SPECIFIC TO MP

ABORT <CA>
ACCESS <individual> <CA>
ACCESSTYPES <accesstypes> <CA>
ACKCONDITION <ackcondition> <CA>
ACKTYPE <acktype> <CA>
AUTHOR <individual> <CA>
CATALOG <catalog> <CA>
CITATIONTEMPLATE <citationtemp> <CA>
CLERK <individual> <CA>
COMMENTS <comments> <CA>
CREATIONDATE <datetime> <CA>
CUTOFF <interval> <CA>
DELIVER <CA>
DELIVERYTYPE <deliverytype> <CA>
DISPOSITION <disposition> <CA>
DISTRIBUTE <CA>
EXIT <CA>
FILE <CA>
FORWARD <CA>
FORWARDEE <individual> <CA>
GENERALDELIVERY <CA>
GREETING <greeting> <CA>
ID <id> <CA>
LOCATION <fileaddr> <CA>
MAIL <CA>
MONITOR <individual> <CA>
PATHNAME <pathname> <CA>
RECIPIENT <individual> <CA>
RECORD <CA>
REFERENCESERIAL <serialnumber> <CA>
REPORTINTERVAL <interval> <CA>
REQUESTOR <individual> <CA>
RETRIEVE <CA>
SERIAL <serialnumber> <CA>
SIGNATURE <signature> <CA>
TEXT <string> <CA2>
TITLE <title> <CA>
UPDATE <CA>
UPDATETYPE <updatetype> <CA>
VERIFY <CA>

THOSE BORROWED FROM FTP

The following commands borrowed from FTP are defined (also) as MP
commands to support the transfer of the Content of a piece of Mail
in 'file' form. The reader is referred to the FTP protocol
document for a description of their use and syntax. The borrowed
commands are:

BYTE, SOCK, PASV, TYPE, STRU, MODE, REST, and SITE.

The following commands borrowed from FTP are defined (also) as MP
commands to permit changes of accounting parameters within the MP
subsystem. The accounting parameters in force when the subsystem
is entered apply (if necessary) within the subsystem until
changed. Values to which the parameters may have been changed
while in the subsystem continue in effect upon return to the FTP
command space. The borrowed commands are:

USER, PASS, and ACCT.

The following miscellaneous commands borrowed from FTP are defined
also as MP commands:

HELP and NOOP.

COMMAND REPLIES

This list is undoubtedly incomplete; some crucial reply code
assignments may be missing despite the author's attempt to foresee
the kinds of interaction that might arise between user and server and
the responses from the server that they would require.

172 <A Citation Component>

In response to the EXIT command which terminates the Citation
Retrieval function.

173 End of citation.

Following a list of 172 replies.

200 OK.

This is the standard, positive acknowledgment used throughout
the Protocol.

270 <pathname> -- is assigned as the pathname.

In response to the EXIT command which terminates the Record
function.

271 <functionlist> -- supported.

In response to the MAIL command by which the user process
gains entry to the Mail subsystem. This response is
mandatory, and from it the user process can quickly determine
what function(s) are supported by the server.

272 Requestor is who he says he is.

In response to an ID command in the User Verification
function. This reply informs the user process that the Id
given is in fact that of the Individual specified.

330 OK. Now Id, please.

In response to the first command in each pair of commands in
an Individual List. This reply requires the next command from
the user process to be ID.

332 Login first, please.

In response to any command which invokes a Mail function
(e.g., RECORD, DISTRIBUTE, DELIVER), or to the MAIL command
itself. This reply implies that the requested function is
supported by the server, but that the user is required to
login before invoking it.

400 Function not implemented.

In response to any command which invokes a Mail function
(e.g., RECORD, DISTRIBUTE, DELIVER), or to the MAIL command
itself. This reply implies that the requested function is not
supported by the server.

431 Incorrect Id.

In response to the ID command in an Individual List command
pair. This reply implies that the Id specified was incorrect.

440 <Error relayed from Recording Agent>

In response to the LOCATION command. This reply implies that
the server attempted to retrieve the specified piece of Mail
from an FTP server but failed because it returned the error
reply whose text is duplicated in the current reply.

470 No such pathname.

In response to the PATHNAME command (in the Citation Retrieval
function). This reply implies that the specified pathname is
not recognized by the server.

471 No unRead Mail to Forward.

In response to the EXIT command which terminates the
Forwarding Function.

472 Requestor is NOT who he says he is.

In response to an ID command in the User Verification
function. This reply informs the user process that the Id
given is NOT that of the Individual specified.

473 You don't have Read Access to the Mail.

In response to the LOCATION command, or to the PATHNAME
command in a Citation Retrieval function. This reply implies
that the Requestor doesn't have Read Access to the piece of
Mail.

474 Recipient unrecognized; is General Delivery OK?

In response to an instance of the RECIPIENT command in a
Distribution List (in the context of the Delivery function).
This response implies that the Recipient in unrecognized, but
that the server will attempt General Delivery to him if the
user process responds with a GENERALDELIVERY command;
otherwise the Recipient is rejected.

475 That Individual is not at this host.

570 No such NIC Ident or Mailbox Name.

In response to any command in which a NIC Ident or Mailbox
Name appears as an argument. This reply implies that the
Individual specified does not exist.

571 Invalid host.

In response to any command in which a host address or standard
host name appears as an argument. This reply implies that no
such host exists.

572 No such catalog.

In response to the CATALOG command. This reply implies that
no such Catalog exists.

Any '500' reply.

Any of the error replies associated with FTP RETR/STOR commands.

FORMAL SYNTAX

The terse keyword forms to be employed in actually implementing a
Mail user or server process are generated by deleting character(s)
from the corresponding verbose forms. Those deleted characters are
included but enclosed in brackets throughout the description which
follows. Spaces can be used freely between terminal elements of the
syntax, and in some cases, at least one space must separate two
elements whose boundary could not otherwise be distinguished.

<CA2> ::= TELNET Go Ahead character
<CA> ::= TELNET new line (CR LF)
<CRLF> ::= CR LF
<accesstypes> ::= <readaccess> <controlaccess>
<ackcondition> ::= A[LWAYS] | F[AILURE] | N[EVER]
<acktype> ::= T[ERSE] | V[ERBOSE]
<action> ::= A[CTION] | null
<catalog> ::= <string>
<citationcomp> ::= D[ISTRIBUTION]L[IST] | A[CESS]L[IST] |
C[ATALOG]L[IST] | C[ON]T[ENT] | T[ITLE] |
C[OM]M[ENTS] | AU[THOR] | CL[ERK] |
C[REATION]D[ATE]
<citationtemp> ::= <citationcomp> | <citationcomp>
<citationtemp>
<command> ::= <shortbody> <CA> | <longbody> <CA2>
<comments> ::= <string>
<controlaccess> ::= C[ONTROLLING] | null
<count> ::= decimal integer
<date> ::= <dayofmonth> / <month> / <year>
<datetime> ::= <date> <time>
<dayofmonth> ::= decimal integer, 1-31
<days> ::= <count> D[AYS]
<deliverystatus> ::= F[AILED] | S[UCCESSFUL] | T[IMED OUT] |

W[AITING] | U[NATTEMPTED]
<deliverytype> ::= F[ORWARD] | M[AIL] | N[EGATIVE
ACKNOWLEDGMENT] | P[OSITIVE
ACKNOWLEDGMENT] | P[ROGRESS]R[EPORT]
| R[EPLY]
<disposition> ::= <rsvp> <action> <interrupt>
<fileaddr> ::= <host> <pathname>
<functionlist> ::= <functiontype> | <functiontype>
<functionlist>
<functiontype> ::= RE[CORDING] | DE[LIVERY] | DI[STRIBUTION] |
F[OR]W[ARDING] | CI[TATION RETEiEVAL] |
UP[DATE] | U[SER]V[ERIFICATION]
<globalname> ::= * <nicident>
<greeting> ::= <string>
<host> ::= <hostname> | <hostaddress>
<hostaddress> ::= decimal integer, 0-255
<hostname> ::= standard host name
<hour> ::= decimal integer, 0-23
<hours> ::= <count> H[OURS]
<individual> ::= <localname> | <globalname>
<interrupt> ::= I[NTERRUPT] | null
<interval> ::= <days> | <hours> | <days> <hours>
<localname> ::= <mailbox> @ <host> | <mailbox> @
NOTE: Host defaults to that of the server
<longbody> ::= COM[MENTS] <comments> |
TEXT <string>
<mailbox> ::= <string>
<minute> ::= decimal integer, 0-59
<month> ::= decimal integer, 1-12
<nicident> ::= <string>
<id> ::= <string>
<pathname> ::= <string>
<readaccess> ::= R[EAD] | null
<rsvp> ::= R[SVP] | null
<serialnumber> ::= <string>
<shortbody> ::= ABOR[T] |
ACC[ESS] <individual> |
ACKC[ONDITION] <ackcondition> |
ACKT[YPE] <acktype> |
AC[CESS]TY[PES] <accesstypes> |
AUTH[OR] <individual> |
CAT[ALOG] <catalog> |
CLER[K] <individual> |
CR[EATION]DA[TE] <datetime> |
CUT[OFF] <interval> |
C[ITATION]TEM[PLATE] <citationtemp> |
DELI[VER] |
DE[LIVERY]TY[PE] <delivverytype> |

DISP[OSITION] <disposition> |
DIST[RIBUTE] |
EXIT |
FILE |
FOR[WARDE]E <individual> |
FOR[WARD] |
GEN[ERAL]D[ELIVERY] |
GREE[TING] <greeting> |
ID <ID> |
LOC[ATION] <fileaddr> |
MAIL |
MON[ITOR] <individual> |
PATH[NAME] <pathname> |
RECI[PIENT] <individual> |
REC[ORD] |
REQ[UESTO]R <individual> |
R[EFERENCE]SER[IAL] <serialnumber> |
R[EPORT]INT[ERVAL] <interval> |
SERI[AL] <serialnumber> |
SIGN[ATURE] <signature> |
TITL[E] <title> |
UPDA[TE] |
UP[DATE]TY[PE] <updatetype> |
VER[IFY]
<signature> ::= <string>
<string> ::= any non-zero number of visible characters
(in particular, CA and CA2 are excluded)
<time> ::= <hour> : <minute> <timezone>
<timezone> ::= EST | EDT | CST | CDT | MST | MDT | PST |
PDT | GMT
<title> ::= <string>
<updatetype> ::= A[DD] | R[EPLACE] | D[ELETE]
<year> ::= full year in decimal (e.g., 1973)

[ This RFCwas put into machine readable form for entry ]
[ into the online RFCarchives by Root 2/98 ]
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容