rfc780.txt

来自「RFC 的详细文档!」· 文本 代码 · 共 1,923 行 · 第 1/5 页

TXT
1,923
字号

                                                                        

                                    
                                    
                                    
                                    
                                    
                         MAIL TRANSFER PROTOCOL
                                    
                                    
                                    
                            Suzanne Sluizer
                                    
                                  and
                                    
                           Jonathan B. Postel









                                RFC 780











                                May 1981
                                    
                                    
                                    
                     Information Sciences Institute
                   University of Southern California
                           4676 Admiralty Way
                   Marina del Rey, California  90291

                             (213) 822-1511



                                                                        
May 1981                                                         RFC 780
Mail Transfer Protocol                                                  



                           TABLE OF CONTENTS

   1.  INTRODUCTION .................................................. 1

   2.  THE MTP MODEL ................................................. 2

   3.  BASIC MAIL .................................................... 4

      3.1.  Forwarding ............................................... 5
      3.2.  Source Routing ........................................... 6

   4.  MULTI-RECIPIENT MAIL .......................................... 8

      4.1.  Scheme Selection: MRSQ ................................... 8
      4.2.  Message Text Specification: MAIL ......................... 9
      4.3.  Recipient Specification: MRCP ........................... 10
      4.4.  Scheme Mechanics: Recipients First ...................... 10
      4.5.  Scheme Mechanics: Text First ............................ 12
      4.6.  Discussion .............................................. 12

   5.  SPECIFICATIONS ............................................... 16

      5.1.  MTP Commands ............................................ 16
      5.1.1.  Command Semantics ..................................... 16
      5.1.2.  Command Syntax ........................................ 18
      5.2.  MTP Replies ............................................. 22
      5.2.1.  Reply Codes by Function Group ......................... 23
      5.2.2.  Reply Codes in Numeric Order .......................... 24
      5.3.  Sequencing of Commands and Replies ...................... 25
      5.4.  State Diagrams .......................................... 28
      5.5.  Details ................................................. 30
      5.5.1.  Minimum Implementation ................................ 30
      5.5.2.  Transparency .......................................... 30
      5.5.3.  Sizes ................................................. 30

   APPENDIX A:  TCP ................................................. 32
   APPENDIX B:  NCP ................................................. 33
   APPENDIX C:  NITS ................................................ 34
   APPENDIX D:  X.25 ................................................ 35
   APPENDIX E:  Theory of Reply Codes ............................... 36

   GLOSSARY ......................................................... 39

   REFERENCES ....................................................... 42






Network Working Group                                         S. Sluizer
Request for Comments: 780                                      J. Postel
                                                                     ISI
Replaces: RFC 772                                               May 1981

                         MAIL TRANSFER PROTOCOL


1.  INTRODUCTION

   The objective of Mail Transfer Protocol (MTP) is to transfer mail
   reliably and efficiently.

   MTP is designed to be independent of the particular transmission
   subsystem and requires only a reliable ordered data stream channel.
   Appendices describe the use of MTP with various transport services.
   A Glossary provides the definitions of terms as used in this
   document.

   An important feature of MTP is its capability to relay mail from one
   transport environment to another.  A transport service provides an
   interprocess communication environment (IPCE).  An IPCE may cover one
   network, several networks, or a subset of a network.  A process can
   communicate directly with another process anywhere in its own IPCE.
   Mail is a special case of interprocess communication.  Mail can be
   communicated between proceses in different IPCEs by relaying through
   a process connected to two (or more) IPCEs.  More specifically, mail
   can be relayed between hosts on different transport systems by a host
   on both transport systems.  It is important to realize that transport
   systems (or IPCEs) are not one-to-one with networks.
























Sluizer & Postel                                                [Page 1]


                                                                        
May 1981                                                         RFC 780
Mail Transfer Protocol                                                  



2.  THE MTP MODEL

   The MTP design is based on the following model of communication:  at
   the initiation of the user, the sender-MTP establishes the
   full-duplex transmission channel.  MTP commands are generated by the
   sender-MTP and sent to the receiver-MTP.  MTP replies are sent from
   the receiver-MTP to the sender-MTP in response to the commands.

   In the simplest case, once the transmission channel is established
   the MTP-sender sends a MAIL command indicating the sender and
   receiver of the mail.  If the MTP-receiver can accept the mail it
   responds with a go ahead reply.  Then the MTP-sender sends the mail
   data, terminating with a special sequence.  If the MTP-receiver
   successfully processes the mail it responds with an OK reply.

     -------------------------------------------------------------

   
               +----------+                +----------+
   +------+    |          |                |          |
   | User |<-->|          |      MTP       |          |
   +------+    |  Sender- |Commands/Replies| Receiver-|
   +------+    |   MTP    |<-------------->|    MTP   |    +------+
   | File |<-->|          |    and Mail    |          |<-->| File |
   |System|    |          |                |          |    |System|
   +------+    +----------+                +----------+    +------+
   

                Sender-MTP                 Receiver-MTP

                           Model for MTP Use

                                Figure 1

     -------------------------------------------------------------

   The MTP provides mechanisms for the transmission of mail; directly
   from the sending user's host to the receiving user's host when the
   two host are connected to the same transport service, or via one or
   more relay MTP-servers when the source and destination hosts are not
   connected to the same transport service.

   To be able to provide the relay capability the MTP-server must be
   supplied with the name of the ultimate destination host as well as
   the destination mailbox name.




[Page 2]                                                Sluizer & Postel


                                                                        
RFC 780                                                         May 1981
                                                  Mail Transfer Protocol



   The arguments to the MAIL command are a FROM path and a TO path.  The
   TO path is a source route while the FROM path is a return route
   (which may be used to return a message to the sender when an error
   occurs with a relayed message).

   The preceding discussion has outlined the transmission of one copy of
   one message from a source to a destination host and the possibility
   of relaying messages between different transport services.  The MTP
   additionally supports the transmission of one copy of a message
   addressed to multiple recipients.

   In order for mail to be successfully transmitted the destination
   users must be known at the destination receiver-MTP and the mail data
   must be correctly received and stored.  In the single recipient case
   discussed above the positive response to the MAIL command indicated
   the recipient was known, and the final OK response indicated the mail
   was received and stored.

   To support multi-recipient mail, MTP provides two procedures:
   Text-First, and Recipients-First.  In the text-first scheme the mail
   data is sent and acknowledged, then each recipient identification is
   sent and acknowledged (or refused) separately.  In the
   recipients-first scheme the recipients are negotiated first, then the
   text is sent and acknowledged (for all recipients at once).  The
   choice of scheme is up to the MTP-receiver, and depends on the way
   mail is handled in the destination host.

   The multi-recipient mail procedures are optional and the
   determination of which scheme to use is negotiated.  The use of the
   multi-recipient schemes is strongly encouraged by the economy they
   provide in transmission and processing.

   The mail commands and replies have a rigid syntax.  Replies also have
   a numeric code.  In the following, examples appear which use actual
   commands and replies.  The complete lists of commands and replies
   appears in Section 5 on specifications.

   Commands and replies are not case sensitive.  That is, a command or
   reply word may be upper case, lower case, or any mixture of upper and
   lower case.  Note that this is not true of mailbox user names.  For
   some hosts the user name is case sensitive, and MTP implementations
   must take case to preserve the case of user names as they appear in
   mailbox arguments.






Sluizer & Postel                                                [Page 3]


                                                                        
May 1981                                                         RFC 780
Mail Transfer Protocol                                                  



3.  BASIC MAIL

   The basic command for transmitting mail is MAIL.  This command causes
   the transmitted data to be entered into the recipient's mailbox, or
   accepted for relaying to the destination host.

   The mail text is also sent on the transmission channel.  This
   requires  that the end of the text be signalled so that the command
   and reply dialog can be resumed.  MTP signals the end of the mail
   text by sending a line containing only a period.  A transparency
   procedure is used to prevent this interfering with the users text
   (see Section 5.5.2).

      MAIL <SP> FROM:<sender-path> <SP> TO:<receiver-path> <CRLF>

         The <sender-path> contains the source mailbox; the
         <receiver-path> contains the destination mailbox.  If accepted,
         the receiver-MTP returns a 354 reply and considers all
         succeeding lines to be the message text.  The message text is
         terminated by a line containing only a period, upon which a 250
         completion reply is returned.  Various errors are possible.

         Actually the <sender-path> and <receiver-path> are more than
         just the mailboxes, they may be source routes.  The
         <receiver-path> is a source routing list of hosts and
         destination mailbox; the <sender-path> is a reverse source
         routing list of hosts and source mailbox.






















[Page 4]                                                Sluizer & Postel


                                                                        
RFC 780                                                         May 1981
                                                  Mail Transfer Protocol



     -------------------------------------------------------------

                      Example of MAIL (Basic Mail)

      This MAIL command specifies the mail is sent by Waldo at host A,
      and is to be delivered to Foo at host Y.  Here we assume that host
      A contacts host Y directly.

         S: MAIL FROM:<waldo@A> TO:<Foo@Y> <CRLF>
         R: 354 Start mail input; end with <CRLF>.<CRLF>
         S: Blah blah blah blah....etc. etc. etc.
         S: <CRLF>.<CRLF>
         R: 250 Mail sent

      The mail text has now been sent to "Foo".

                               Example 1

     -------------------------------------------------------------

   3.1.  FORWARDING

      There are two possible preliminary replies that a receiver may use
      to indicate that it is accepting mail for a user whose mailbox is
      not at that host.

         151 User not local; will forward to <user>@<host>

            This reply indicates that the receiver-MTP knows the user's
            mailbox is on another host and will take responsibility for
            forwarding the mail to that host.  This reply is only sent
            when the sender would not expect the mail to be forwarded.
            That is, when <receiver-path> as given in the command
            indicates mail relaying, this reply will not be used.  This
            reply could be used for an organization with several hosts
            when each has a list of many of the users on the hosts.  A
            host can accept mail for any user on its list and forward it
            to the correct host.

         152 User Unknown; mail will be forwarded by the operator

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?