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]
-
-