Network Working Group                                         A. Bhushan
Request for Comments: 475                                       MIT-DMCG
NIC: 14919                                                 March 6, 1973


                     FTP AND NETWORK MAIL SYSTEM

  This paper describes my understanding of the results of the Network
  Mail System meeting SRI-ARC on February 23, 1973, and the
  implications for FTP (File Transfer Protocol).  There was general
  agreement at the meeting that network mail function should be within
  FTP.

  FTP currently provides two commands for handling mail.  The MAIL
  command allows a user to send mail via the TELNET connection (the
  server collects the mail and determines its end by searching for the
  character sequence "CRLF.CRLF").  The MLFL (mail file) command allows
  a user to send mail via the data connection (requires a user-FTP to
  handle the command but transfer is more efficient as server need not
  search for a special character sequence).  These commands are being
  used to provide network mailing facilities.  Local mail and SNDMSG
  programs have been modified at many sites to include network mailing
  (e.g., USER@HOST at BBN_TENEX and MAIL host user at MIT-DMCG).

  The network mail system should provide a facility whereby users can
  conveniently send messages to other network users who have
  "mailboxes" at one or more hosts.  It is not required that the
  messages or mail be delivered in real-time.  The network mail system
  is not an interactive inter-console communication facility, but it
  may be possible for some sites to deliver "urgent" mail to users in
  real-time (e.g., print mail at user console if user is currently
  logged-in).  The mail system also does not provide a general inter-
  process communication facility, though it may be possible to deliver
  messages to programs which have mailbox addresses.  Inter-process and
  inter-entity communication facilities are very desirable but are
  beyond the scope of the network mail system.

  The concepts of "mailbox" and "mailbox addresses" are central to this
  discussion of network mail system.  A mailbox is a place where the
  mail is stored before a user picks it up.  It may be a file in the
  user's directory or it may be a bin for hard-copy.  The mailbox
  address is the address required by the sender in order to send the
  mail to its destination mailbox.  For users who have an "on-line"
  network mailbox, the mailbox address contains the Host address and
  the user's mailbox identification at that Host.  The mailbox
  identification is that which is required by an FTP-server in order
  that it may put the mail in the desired mailbox.  The terms mailbox
  address will be used to refer to the on-line network mailbox address.



Bhushan                                                         [Page 1]

RFC 475               FTP AND NETWORK MAIL SYSTEM             March 1973


  NETWORK MAIL SYSTEM FUNCTIONS

  The network mail system should provide the following six functions:

  1. CREATING: This refers to the manner in which the user creates or
     composes his message.  The FTP servers do not explicitly provide
     any message editing capability (server's editing conventions may
     be applicable in the case of MAIL command).  Editing conventions
     such as those for character delete and line cancel vary widely
     over the network.  The user is most familiar with his local Host
     conventions and these should be used for network mail editing.
     The user also has access to local editing systems which can be
     used for composing message files.  The message file may then be
     transmitted via the MAIL or MLFL commands (MLFL being preferable).
     The present FTP approach of assuming the creation of messages to
     be sender's responsibility seems adequate.  TIP users if they
     desire editing facilities should use intermediate Hosts for
     creating and sending messages.

  2. LOCATING: How sender determines receivers address.  FTP assumes
     that the sender knows the receivers correct address.  There is no
     published or "on-line" list of mailbox addresses.  There is,
     however, a list of network participants maintained (on-line) and
     published by the Network Information Center (NIC) at SRI-ARC.  The
     network users have been assigned a unique "NIC Ident" and Host
     site by the NIC.  It was therefore specified in FTP that FTP-
     servers maintain a table that maps NIC Idents to mail-box
     identifications.  The NIC will maintain on-line and publish the
     local mailbox address information for network participants.  It
     would be possible for users to look up a published list, or querry
     the NIC on-line to locate destination addresses.  The NIC will
     also provide an on-line facility (similar to FTP) that can be used
     by programs for retrieving the address information.  This latter
     approach of the NIC's maintaining addresses has several
     advantages.  The user can obtain a number of addresses for a
     group, and use these to transmit mail.  The FTP servers need not
     maintain NIC Ident Tables, and the NIC can provide a good facility
     for locating addresses from last names, NIC Idents, or even
     sketchy information.  It may still be desirable that FTP servers
     accept NIC idents, last names, and other standard forms as mailbox
     identifiers.

  3. SENDING: How message is sent to the destination mailbox.  The
     messages may be sent directly to the destination mailbox (via
     TELNET or Data connections) or via an intermediate Host such as
     the NIC.  FTP does not explicitly provide for mail forwarding by
     intermediate Hosts but FTP servers may be able to recognize
     addresses as not being local, and forward mail.  In the event mail



Bhushan                                                         [Page 2]

RFC 475               FTP AND NETWORK MAIL SYSTEM             March 1973


     is to be forwarded, a desirable facility is to have the
     intermediate site return an acknowledgement (by request) upon
     delivery of mail or if delivery fails within a specified time.
     The current FTP specifications recommend that FTP-servers accept
     multiple addresses but do not require this.

  4. STORING: Where mail is stored before reading and if information is
     available for later reference or retrieval.  The FTP does not
     require that sender store mail or keep duplicate copies.  It is
     the receiver's responsibility to store the information for
     reading, reference, or retrieval.  The receiver need not store the
     mail as a data file but can directly print it out on a user
     console or line printer.  FTP does not specify the procedures for
     storage handling by intermediate sites.  If intermediate site is
     used for forwarding the mail until it is delivered to its final
     destination.  If the mail is undeliverable then the intermediate
     site should return the undelivered information to the sender.  A
     similar situation arises when sending of mail is deferred by the
     sending site (destination host may be down).  The sending site
     then acts as an intermediate forwarder insofar as the user is
     concerned.

  5. RECORDING: Should the mail be catalogued and recorded for later
     reference and retrieval.  FTP currently does not provide an
     explicit mechanism for the receiver to record mail.  If an
     intermediate site (the NIC) is used for mail distribution then a
     function of such a site could be to record mail, if so requested.
     NIC is ideal for recording mail, but other sites may also wish to
     record the mail.  If the mail is recorded, then it is not
     necessary to send the entire contents of the mail.  Instead only a
     citation for the document can be sent and the receiver can
     retrieve the mail only if he wants to.  This is particularly
     useful for large documents such as NWG/RFC which are distributed
     to a group.  The citation may contain author, title, retrieval
     pathname, and perhaps an abstract.

  6. READING: How the mail is finally presented to and read by the
     user.  FTP currently assumes that mail reading is entirely the
     receiving site's function.  However, there are ways in which the
     sender can aid the receiver in providing improved mail reading
     facilities.  For example, the receiving system, if it knows a
     message to be urgent can deliver it immediately at a user console.
     Long messages may be put in separate files with notification in
     user's regular mail.  Alternately, mail could be a citation that
     the reading program can retrieve upon user request.  Selective
     handling of different classes of mail is important for an improved
     network mail system.




Bhushan                                                         [Page 3]

RFC 475               FTP AND NETWORK MAIL SYSTEM             March 1973


  MODELS FOR MAIL SYSTEM USE

  The user of a mail system can use intermediate site for locating
  addresses, recording and/or distributing mail, and for creating and
  reading mail.  We therefore have the following models for mail system
  use:

  1. The user connects directly to the destination FTP server and sends
     mail using the MAIL command.  Local editing functions are limited
     to character delete and line cancel (assuming user is in line-at-
     a-time mode) and server conventions may also apply.  The user only
     needs a user-TELNET program at his site but needs to know the
     destination address.  This model is specially applicable to TIP
     and other mini-Host users who do not have a user-FTP or user-Mail
     programs.

  2. The user composes the mail using a local editor (or mail system)
     and then requests his user-FTP or mail program to send the mail
     directly to the destination via the FTP MAIL or MLFL commands.
     The user needs to know the destination address.  The mail can be
     deferred by the sending program if the destination Host is down.
     TIP users can use this model by using the facilities of a "home-
     base" Host.

  3. The user uses an intermediate site such as NIC (other sites may
     provide forwarding services too) for mail distribution.  The user
     need not know the destination addresses but can use NIC idents for
     individuals and groups of individuals.  The mail can be recorded
     on request and its sending can be deferred (the destination Host
     may be down, or it may be more economical to defer mail).  The
     message to be mailed may be created at the local site using local
     editing facilities, or it may be created directly at the
     intermediate site.

  4. The user may send a citation of the mail instead of the complete
     mail item.  The citation refers to an existing document which can
     be retrieved on-line (such as the NIC number of a NIC journal
     communication).

  MAILING TO TIP USERS

  The TIP does not currently provide an FTP server or mailbox
  facilities.  While it is possible to send mail to TIP terminals (such
  as line printers) it seems undesirable to do so because of the
  possibility of losing mail, the lack of privacy, and the fact that
  user may be several (or several hundred) miles away from the location
  of the TIP.  The TIP users normally have a "home-base" computer where
  they do their computing work most of the time.  The TIP user problem



Bhushan                                                         [Page 4]

RFC 475               FTP AND NETWORK MAIL SYSTEM             March 1973


  is best solved by requiring that TIP users rent mailboxes at their
  "home-base" Host.  Such a Host can provide good mail reading and
  querry facilities.  A TIP user can request his "home" Host to send
  him notification of mail on a TIP terminal.  If RDML command (NWG/RFC
  458) is accepted in FTP, TIP users could use such a command.  More
  important, if the user has a number of mailboxes on different Hosts,
  the RDML (or RDMF) command can be used to read his mail at all the
  sites where he has mailboxes.

  ACCESS CONTROL IN MAIL SYSTEM

  It has been suggested that FTP specification should require that mail
  function (for receiving mail) should be "free", i.e., FTP servers
  should not require the user to "login" (send the USER, PASS, and ACCT
  commands).  In the absence of the access control commands the FTP
  server should charge the cost of receiving mail to an overhead or
  browsing account.  It should be noted that this "free" mail function
  using default "USER" account may not allow non mail-related commands
  without reinitializing.  This requirement will improve communication
  among the network users.

  Some systems, such as Multics, have mechanisms for access control in
  the receipt of mail.  That is a user can specify who is eligible to
  send him mail (normally users give then access ".*.*.*.", i.e., any
  one can send mail).  The access control commands would be required to
  gain privileged access.  The USER command does not seem the best way
  to identify the sender of mail.  Consider users logged in as GUEST,
  ICCC, NETWORK, MIT-DMCG, and NETWORK-USER.  A separate FROM command
  seems desirable.  Such a command can be used to identify the sender
  as well as to send acknowledgments and replies.  The receiving site
  can tag the mail as: FROM AKB at MIT-DMCG, logged in as GUEST.  The
  receiver can then send reply to the mailbox address AKB at Host 70
  (SNDMSG AKB@DMCG or MAIL DMCG AKB).

  NETWORK INFORMATION CENTER FUNCTIONS

  The NIC is a very special facility for handling mail.  It provides
  facilities for recording and distributing mail to individuals and
  groups of individuals, and for locating users' addresses.  The NIC
  will also undertake to provide distribution of unrecorded mail.
  Currently the NIC requires that users log into the NIC and use NLS to
  create and distribute mail.  Using NLS for creating mail has been a
  frustrating experience for many who are used to different editing
  systems.  Recently there has been a problem that NIC is overloaded at
  most times of the day and even if one can get a "network terminal"
  and log in, the interaction is quite slow.  As NIC (or NLS) is
  designed for character-at-a-time interaction with remote echo, the




Bhushan                                                         [Page 5]

RFC 475               FTP AND NETWORK MAIL SYSTEM             March 1973


  use is inefficient.  Using NIC is particularly unbearable when the
  user falls behind in his echo by as much as an entire line.

  An alternative to direct use of NIC is to use the NIC via FTP and
  programs at the user's site.  The user can create journal documents
  using his own local editing system and then transfer it to NIC via
  FTP.  The user may have to specify such information as author, title,
  where the acknowledgment should be sent, and journal number if the
  item is to be recorded.  It should also be possible for users to send
  sequential files to NIC and have them restructuredinto NLS form
  without having to do an "input sequential" (a suggestion is to "NLS"
  the file if its name is suffixed with a .NLS).  Alternately it should
  be possible for user's to retrieve journal documents and other
  sequential files without having to do a previous "output sequential".

  The NIC currently delivers mail via hardcopy and/or on-line.  On-line
  currently means that user must log into NIC to see if he has a
  message and read it by "print branch".  The messages are not seen by
  the destination users for several days and many users get their hard
  copy before they have had a chance to examine their on-line NIC mail.
  If the NIC were to deliver mail via FTP to network users, then the
  mail turn-around time will be greatly speeded and the users will not
  have to log into the NIC.  Large documents need not be mailed to the
  user in their entirety but only a citation need be sent.  The NIC
  willhave to collect the information on the mailbox addresses of
  Network participants for delivering mail, especially since it appears
  that many FTP servers are not "respecting" NIC idents.  It is
  recognized that a user may have only one (the most used) of these
  addresses.

  The NIC identification subsystem (currently accessible via NLS only)
  contains information on users (such as affiliation, US Mail address,
  telephone numbers, etc.) and groups (members, etc.).  The on-line
  mailbox address information can be added here.  The NIC will
  undertake to provide a facility whereby the identification subsystem
  can be querried by programs, allowing mailing programs to retrieve
  the addresses automatically.  This facility will be separate from
  FTP.

  FTP MODIFICATIONS

  The FTP currently does not provide explicit facilities for recording
  mail, communicating sender's address, sending program readable
  citations, specifying author and title for documents, requesting
  acknowledgments, and indicating message type (urgent, ordinary, and
  long).  To overcome these deficiencies, we can take any of the
  following approaches:




Bhushan                                                         [Page 6]

RFC 475               FTP AND NETWORK MAIL SYSTEM             March 1973


  1. Kludge the desired features in the pathname syntax of the MAIL and
     MLFL commands, justifying the kludge on the grounds that most of
     the functions are to be used only by the NIC.

  2. Add new commands for the desired functions and alter the MAIL and
     MLFL commands somewhat to recognize the existence of the new
     commands.

  3. Define a new mail command which incorporates the missing functions
     (in the process defining new commands for the desired functions).
     The MAIL and MLFL commands can be used in their present form but
     may be gradually phased out.

  The first approach seems undesirable to me as many of the missing
  functions can be used by other sites as well.  In addition it will be
  easier to write programs to deal with commands rather than a complex
  syntax.  The second and the third approaches are not very different
  from each other.  The third approach seems preferable as it will
  allow existing mail programs to function in their present form.
  Using the third approach consider the following new FTP commands:

  1. MLTO (mail to): The argument is one or more mailbox identifiers
     separated by "," (commas).  It is suggested that if there is no
     argument, the mail should be sent to some responsible user or
     printed on a printer.  This command starts the sequence of
     optional FTP mail related commands described below.  The sequence
     ends with the TEXT, FILE, or CITA (citation) commands.

  2. FROM: The argument is the address of the sender or senders.  It is
     in a standard form that can be interpreted by programs as well as
     human users.  The information is to be used for identifying the
     sender(s), for sending replies, and for sending acknowledgments if
     the receiver is an intermediate forwarding site.

  3. MTYP (mail type): This identifies the type of mail as U (urgent),
     O (ordinary), and L (long).  The receiving system can take the
     appropriate actions from this knowledge.  The default assumption
     is ordinary mail.

  4. RECO (record the mail): The argument if present is the identifying
     information for recording (such as NIC Journal number).  If no
     argument is present the server will assign the recording
     information and send an appropriate reply (real-time or deferred).

  5. AUTH (author): Identifies the author of the document in a form
     acceptable to the server (NIC ident may be required by NIC).





Bhushan                                                         [Page 7]

RFC 475               FTP AND NETWORK MAIL SYSTEM             March 1973


  6. TITL (title): Identifies the title of the document.  The argument
     is an ASCII string ending with the sequence "CRLF.CRLF".

  7. ACKN (acknowledge): Relevant for intermediate forwarding sites.
     Asks the server to send acknowledgment on delivery or if delivery
     fails within a specified time.

  8. TEXT: No arguments.  Starts the transfer of mail over TELNET
     connection in an identical manner as MAIL.

  9. FILE: No arguments.  Starts transfer of mail over the data
     connection in an identical manner as MLFL.

  10. CITA (citation): Argument is the pathname of retrievable file.

  We also need to define new reply codes for handling mail.  Some sites
  have expressed the need for replies such as "send only X bytes of
  mail".  Other replies could specifically request additional commands
  such as USER/PASS/ACCT for privileged mailing, FROM/ACKN for mail
  forwarding, and AUTH/TITL for recorded mail.  Another suggestion that
  may be given consideration is allowing TYPE/BYTE other than A/8 for
  FILE command.  Mailing large files between like machines such as
  PDP-10s is more efficient in I/36.  The RDML and RDMF commands
  proposed by Bressler and Thomas (NWG/RFC 458) also merit
  consideration as they would aid the handling of mail for users who
  have mailboxes at different Hosts.


       [This RFC was put into machine readable form for entry]
    [into the online RFC archives by Kelly Tardif, Viagenie 10/99]





















Bhushan                                                         [Page 8]