From 4bfd864f10b68b71482b35c818559068ef8d5797 Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Wed, 27 Nov 2024 20:54:24 +0100 Subject: doc: Add RFC documents --- doc/rfc/rfc784.txt | 174 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 doc/rfc/rfc784.txt (limited to 'doc/rfc/rfc784.txt') diff --git a/doc/rfc/rfc784.txt b/doc/rfc/rfc784.txt new file mode 100644 index 0000000..33c34e0 --- /dev/null +++ b/doc/rfc/rfc784.txt @@ -0,0 +1,174 @@ + + +Network Working Group S. Sluizer +Request for Comments: 784 J. Postel + ISI + July 1981 + + MAIL TRANSFER PROTOCOL: + ISI TOPS20 IMPLEMENTATION + + +We are creating an implementation of MTP for TOPS20. The programs are +written in BLISS-10. This implementation supports the MTP user and +server functions using both TCP and NCP transport services, and provides +interfaces to other mail delivery mechanisms. + +The transport services (NCP, TCP, etc.), are used to establish +communication between MTP sender and MTP receiver programs. These +communication paths will be called channels in the rest of this memo. + +Our model of operation is that mail sources will create mail files in +user directories. The mail sources are both user mail composition +programs (like Hermes, MM, SNDMSG), and system network mail receiving +programs which accept mail from various input channels. The mail files +are processed by a background program which dispatches mail to various +output channels. There is also a user version of the dispatcher to send +mail at once (provided the necessary channel is available). + +To take advantage of MTP's multi-recipient feature, the mail consists of +two files. The first is a control file which contains the delivery +information and a pointer to the second file. The second file contains +the mail data (including the RFC 733 header) to be delivered. + +The reason for using two files is that the control information must be +modified as the mail is processed while the mail data only needs to be +read (although the file is eventually deleted or renamed). For example, +a message may be sent to different recipients via different channels. +If one of the channels is not available, the control file must be +modified to mark or delete the recipients to whom the mail has been sent +and keep the recipient information available for those recipients not +yet sent. In a a future implementation of the dispatcher, the control +information may be moved to a master table in its data area to optimally +schedule output channel use. + +The dispatcher makes its decision about how to send mail to each +recipient by consulting a table that indicates for each host its ability +to accept mail via (1) MTP on TCP, (2) MTP on NCP, or (3) FTP on NCP +(i.e., the old way). There is also a table for other cases (e.g., +delivery to hosts in England via another mail transmission system +created by UCL). + + + + + + +Sluizer & Postel Page [1] + + + +July 1981 RFC 784 +ISI TOPS20 Implementation + + + +The individual pieces of this system are: + + 1. MTP receiver for TCP. + + 2. MTP receiver for NCP. + + 3. Dispatcher. + + 4. MTP sender for TCP. + + 5. MTP sender for NCP. + + 6. Mail composition programs (MM, HERMES, MSG, SNDMSG, ...). + + 7. User mailbox files. + + 8. Pending Mail files. + + 9. Other Mail sources. + + 10. Other Mail sinks. + + 11. Host Mail Capability table. + + 12. Host special processing tables. + +We are building 1 through 5, hope that others will adapt 6 to this +system (a version of MM has been adapted at ISI), using the existing 7, +defining and using 8, providing interfaces for 9 and 10 as requested, +and creating and using 11 and 12. + + + + + + + + + + + + + + + + + + + +Page [2] Sluizer & Postel + + + +RFC 784 July 1981 + Mail Transfer Protocol + + + + +-----+ +-----+ +------+ +------+ + | MTP | | MTP | | USER | |OTHER | + | TCP | | NCP | | MAIL | |MAIL | + | RCV | | RCV | | PGM | |SOURCE| + +-----+ +-----+ +------+ +------+ + | | | | + | | | | + | | | | + v v v v + +----+ +----+ +----+ +----+ + | | | | | | | | +Pending +----+ | +----+ | +----+ | +----+ | +Files | |-+ | |-+ | |-+ | |-+ + | | | | | | | | + +----+ +----+ +----+ +----+ + \ | | / + \ | | / + \ | | / + v v v v + + +------------------+ TABLES + | | +----+ + | DISPATCHER |<----->| |---+ + | | | | | + +------------------+ +----+ | + / / \ \ +----+ + / / \ \ + / / \ \ + v v v v + +-----+ +-----+ +-------+ +-----+ + | MTP | | MTP | | LOCAL | |OTHER| + | TCP | | NCP | |MAILBOX| |MAIL | + | SND | | SND | | FILES | |SINK | + +-----+ +-----+ +-------+ +-----+ + +Note that current implementation the dispatcher and the senders for +MTP-on-TCP and MTP-on-TCP are combined in one program. + + + + + + + + + + + + +Sluizer & Postel Page [3] + -- cgit v1.2.3