⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc821.txt

📁 smtp proxy source code!
💻 TXT
📖 第 1 页 / 共 5 页
字号:
            This command does not affect any parameters or previously            entered commands.  It specifies no action other than that            the receiver send an OK reply.            This command has no effect on any of the reverse-path            buffer, the forward-path buffer, or the mail data buffer.         QUIT (QUIT)            This command specifies that the receiver must send an OK            reply, and then close the transmission channel.            The receiver should not close the transmission channel until            it receives and replies to a QUIT command (even if there was            an error).  The sender should not close the transmission            channel until it send a QUIT command and receives the reply            (even if there was an error response to a previous command).            If the connection is closed prematurely the receiver should            act as if a RSET command had been received (canceling any            pending transaction, but not undoing any previously            completed transaction), the sender should act as if the            command or transaction in progress had received a temporary            error (4xx).         TURN (TURN)            This command specifies that the receiver must either (1)            send an OK reply and then take on the role of the            sender-SMTP, or (2) send a refusal reply and retain the role            of the receiver-SMTP.            If program-A is currently the sender-SMTP and it sends the            TURN command and receives an OK reply (250) then program-A            becomes the receiver-SMTP.  Program-A is then in the initial            state as if the transmission channel just opened, and it            then sends the 220 service ready greeting.            If program-B is currently the receiver-SMTP and it receives            the TURN command and sends an OK reply (250) then program-B            becomes the sender-SMTP.  Program-B is then in the initial            state as if the transmission channel just opened, and it            then expects to receive the 220 service ready greeting.            To refuse to change roles the receiver sends the 502 reply.[Page 26]                                                         Postel                                                                        RFC 821                                                      August 1982                                           Simple Mail Transfer Protocol         There are restrictions on the order in which these command may         be used.            The first command in a session must be the HELO command.            The HELO command may be used later in a session as well.  If            the HELO command argument is not acceptable a 501 failure            reply must be returned and the receiver-SMTP must stay in            the same state.            The NOOP, HELP, EXPN, and VRFY commands can be used at any            time during a session.            The MAIL, SEND, SOML, or SAML commands begin a mail            transaction.  Once started a mail transaction consists of            one of the transaction beginning commands, one or more RCPT            commands, and a DATA command, in that order.  A mail            transaction may be aborted by the RSET command.  There may            be zero or more transactions in a session.            If the transaction beginning command argument is not            acceptable a 501 failure reply must be returned and the            receiver-SMTP must stay in the same state.  If the commands            in a transaction are out of order a 503 failure reply must            be returned and the receiver-SMTP must stay in the same            state.            The last command in a session must be the QUIT command.  The            QUIT command can not be used at any other time in a session.      4.1.2.  COMMAND SYNTAX         The commands consist of a command code followed by an argument         field.  Command codes are four alphabetic characters.  Upper         and lower case alphabetic characters are to be treated         identically.  Thus, any of the following may represent the mail         command:            MAIL    Mail    mail    MaIl    mAIl         This also applies to any symbols representing parameter values,         such as "TO" or "to" for the forward-path.  Command codes and         the argument fields are separated by one or more spaces.         However, within the reverse-path and forward-path arguments         case is important.  In particular, in some hosts the user         "smith" is different from the user "Smith".Postel                                                         [Page 27]                                                                        August 1982                                                      RFC 821Simple Mail Transfer Protocol                                                    The argument field consists of a variable length character         string ending with the character sequence <CRLF>.  The receiver         is to take no action until this sequence is received.         Square brackets denote an optional argument field.  If the         option is not taken, the appropriate default is implied.[Page 28]                                                         Postel                                                                        RFC 821                                                      August 1982                                           Simple Mail Transfer Protocol         The following are the SMTP commands:            HELO <SP> <domain> <CRLF>            MAIL <SP> FROM:<reverse-path> <CRLF>            RCPT <SP> TO:<forward-path> <CRLF>            DATA <CRLF>            RSET <CRLF>            SEND <SP> FROM:<reverse-path> <CRLF>            SOML <SP> FROM:<reverse-path> <CRLF>            SAML <SP> FROM:<reverse-path> <CRLF>            VRFY <SP> <string> <CRLF>            EXPN <SP> <string> <CRLF>            HELP [<SP> <string>] <CRLF>            NOOP <CRLF>            QUIT <CRLF>            TURN <CRLF>Postel                                                         [Page 29]                                                                        August 1982                                                      RFC 821Simple Mail Transfer Protocol                                                    The syntax of the above argument fields (using BNF notation         where applicable) is given below.  The "..." notation indicates         that a field may be repeated one or more times.            <reverse-path> ::= <path>            <forward-path> ::= <path>            <path> ::= "<" [ <a-d-l> ":" ] <mailbox> ">"            <a-d-l> ::= <at-domain> | <at-domain> "," <a-d-l>            <at-domain> ::= "@" <domain>            <domain> ::=  <element> | <element> "." <domain>            <element> ::= <name> | "#" <number> | "[" <dotnum> "]"            <mailbox> ::= <local-part> "@" <domain>            <local-part> ::= <dot-string> | <quoted-string>            <name> ::= <a> <ldh-str> <let-dig>            <ldh-str> ::= <let-dig-hyp> | <let-dig-hyp> <ldh-str>            <let-dig> ::= <a> | <d>            <let-dig-hyp> ::= <a> | <d> | "-"            <dot-string> ::= <string> | <string> "." <dot-string>            <string> ::= <char> | <char> <string>            <quoted-string> ::=  """ <qtext> """            <qtext> ::=  "\" <x> | "\" <x> <qtext> | <q> | <q> <qtext>            <char> ::= <c> | "\" <x>            <dotnum> ::= <snum> "." <snum> "." <snum> "." <snum>            <number> ::= <d> | <d> <number>            <CRLF> ::= <CR> <LF>[Page 30]                                                         Postel                                                                        RFC 821                                                      August 1982                                           Simple Mail Transfer Protocol            <CR> ::= the carriage return character (ASCII code 13)            <LF> ::= the line feed character (ASCII code 10)            <SP> ::= the space character (ASCII code 32)            <snum> ::= one, two, or three digits representing a decimal                      integer value in the range 0 through 255            <a> ::= any one of the 52 alphabetic characters A through Z                      in upper case and a through z in lower case            <c> ::= any one of the 128 ASCII characters, but not any                      <special> or <SP>            <d> ::= any one of the ten digits 0 through 9            <q> ::= any one of the 128 ASCII characters except <CR>,                      <LF>, quote ("), or backslash (\)            <x> ::= any one of the 128 ASCII characters (no exceptions)            <special> ::= "<" | ">" | "(" | ")" | "[" | "]" | "\" | "."                      | "," | ";" | ":" | "@"  """ | the control                      characters (ASCII codes 0 through 31 inclusive and                      127)         Note that the backslash, "\", is a quote character, which is         used to indicate that the next character is to be used         literally (instead of its normal interpretation).  For example,         "Joe\,Smith" could be used to indicate a single nine character         user field with comma being the fourth character of the field.         Hosts are generally known by names which are translated to         addresses in each host.  Note that the name elements of domains         are the official names -- no use of nicknames or aliases is         allowed.         Sometimes a host is not known to the translation function and         communication is blocked.  To bypass this barrier two numeric         forms are also allowed for host "names".  One form is a decimal         integer prefixed by a pound sign, "#", which indicates the         number is the address of the host.  Another form is four small         decimal integers separated by dots and enclosed by brackets,         e.g., "[123.255.37.2]", which indicates a 32-bit ARPA Internet         Address in four 8-bit fields.Postel                                                         [Page 31]                                                                        August 1982                                                      RFC 821Simple Mail Transfer Protocol                                                    The time stamp line and the return path line are formally         defined as follows:         <return-path-line> ::= "Return-Path:" <SP><reverse-path><CRLF>         <time-stamp-line> ::= "Received:" <SP> <stamp> <CRLF>            <stamp> ::= <from-domain> <by-domain> <opt-info> ";"                      <daytime>            <from-domain> ::= "FROM" <SP> <domain> <SP>            <by-domain> ::= "BY" <SP> <domain> <SP>            <opt-info> ::= [<via>] [<with>] [<id>] [<for>]            <via> ::= "VIA" <SP> <link> <SP>            <with> ::= "WITH" <SP> <protocol> <SP>            <id> ::= "ID" <SP> <string> <SP>            <for> ::= "FOR" <SP> <path> <SP>            <link> ::= The standard names for links are registered with                      the Network Information Center.            <protocol> ::= The standard names for protocols are                      registered with the Network Information Center.            <daytime> ::= <SP> <date> <SP> <time>            <date> ::= <dd> <SP> <mon> <SP> <yy>            <time> ::= <hh> ":" <mm> ":" <ss> <SP> <zone>            <dd> ::= the one or two decimal integer day of the month in                      the range 1 to 31.            <mon> ::= "JAN" | "FEB" | "MAR" | "APR" | "MAY" | "JUN" |                

⌨️ 快捷键说明

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