📄 rfc780.txt
字号:
E: 500, 421 CONT S: depends on previous command F: depends on previous command E: 500, 501, 502, 504, 421 ABRT S: 201, E: 500, 501, 502, 504, 421Sluizer & Postel [Page 27] May 1981 RFC 780Mail Transfer Protocol 5.4. STATE DIAGRAMS Following are state diagrams for a very simple minded MTP implementation. Only the first digit of the reply codes is used. There is one state diagram for each group of MTP commands. The command groupings were determined by constructing a model for each command and then collecting together the commands with structurally identical models. For each command there are three possible outcomes: "success" (S), "failure" (F), and "error" (E). In the state diagrams below we use the symbol B for "begin", and the symbol W for "wait for reply". First, the diagram that represents most of the MTP commands: 1,3 +---+ ----------->| E | | +---+ | +---+ cmd +---+ 2 +---+ | B |---------->| W |---------->| S | +---+ +---+ +---+ | | 4,5 +---+ ----------->| F | +---+ This diagram models the commands: HELP, MRCP, MRSQ, NOOP, QUIT, ABRT.[Page 28] Sluizer & Postel RFC 780 May 1981 Mail Transfer Protocol A more complex diagram models the MAIL command: ABRT +---+ 1,3 CONT ---- ------------->| W |------- | | +---+ | | |1 4,5| |2 V +---+ cmd -->+---+ 2 | | +---+ | B |---------->| W |-------------------->| E | +---+ +---+ ------------>+---+ 3| |4,5 | | | | | | | | -------------- ------ | | | | | | | ---->+---+ | ----------------------->| S | | | | | | +---+ | | -------- | | | | | | V 2| |1,3 | | +---+ text +---+ | ------->+---+ | |---------->| W | --------------->| F | +---+ +---+-------------------->+---+ 4,5 Note that the "text" here is a series of lines sent from the sender to the receiver with no response expected until the last line is sent.Sluizer & Postel [Page 29] May 1981 RFC 780Mail Transfer Protocol 5.5. DETAILS 5.5.1. MINIMUM IMPLEMENTATION In order to make MTP workable, the following minimum implementation is required for all receivers: COMMANDS -- MAIL QUIT NOOP 5.5.2. TRANSPARENCY Without some provision for data transparency the character sequence "<CRLF>.<CRLF>" ends the the mail text and cannot be sent by the user. In general, users are not aware of such "forbidden" sequences. To allow all user composed text to be transmitted transparently the following procedures are used. 1. Before sending a line of mail text the sender-MTP checks the first character of the line. If it is a period, one additional period is inserted at the beginning of the line. 2. When a line of mail text is received by the receiver-MTP it checks the the line. If the line is composed of a single period it is the end of mail. If the first character is a period and there are other characters on the line, the first character is deleted. 5.5.3. SIZES There are several objects that ought to have defined maximum sizes. user The maximum total length of a user name is 40 characters. host The maximum total length of a host name or number is 20 characters.[Page 30] Sluizer & Postel RFC 780 May 1981 Mail Transfer Protocol path The maximum total length of a sender-path or receiver-path is 100 characters. command line The maximum total length of a command line including the command word and the <CRLF> is 200 characters. reply line The maximum total length of a reply line including the reply code and the <CRLF> is 65 characters. text line The maximum total length of a text line including the the <CRLF> is 1000 characters. To the maximum extent possible implementation techniques which impose no limits at all to the length of these objects should be used.Sluizer & Postel [Page 31] May 1981 RFC 780Mail Transfer Protocol APPENDIX A TCP Transport service The Transmission Control Protocol [1] is used in the ARPA Internet, and in any network following the US DoD standards for internetwork protocols. Connection Establishment The MTP transmission channel is a TCP connection established between the sender process port U and the receiver process port L. This single full duplex connection is used as the transmission channel. This protocol is assigned the service port 57 (71 octal), that is L=57. Data Transfer The TCP connection supports the transmission of 8-bit bytes. The MTP data is 7-bit ASCII characters. Each character is transmitted as a 8-bit byte with the high-order bit cleared to zero.[Page 32] Sluizer & Postel RFC 780 May 1981 Mail Transfer ProtocolAPPENDIX B NCP Transport service The ARPANET Host-to-Host Protocol [2] (implemented by the Network Control Program) may be used in the ARPANET. Connection Establishment The MTP transmission channel is established via NCP between the the sender process socket U and receiver process socket L. The Initial Connection Protocol [3] is followed resulting in a pair of simplex connections. This pair of connections is used as the transmission channel. This protocol is assigned the contact socket 57 (71 octal), that is L=57. Data Transfer The NCP data connections are established in 8-bit byte mode. The MTP data is 7-bit ASCII characters. Each character is transmitted as a 8-bit byte with the high-order bit cleared to zero.Sluizer & Postel [Page 33] May 1981 RFC 780Mail Transfer Protocol APPENDIX C NITS
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -