首页 热点专区 义务教育 高等教育 出国留学 考研考公

邮件传输协议的COMMAND语法

发布网友

我来回答

1个回答

热心网友

命令是由命令码和其后的参数域组成的。命令码是四个字母组成的,不区别大小写。因为下面的命令的作用是相同的:
MAIL Mail mail MaIl mAIl
这对于引导任何参数值的标记也是适用的,如TO和to就是一样的。命令码和参数由一个或多个空格分开。然而在回复路径和转发路径中的参数是区别大小写的。特别是在一些主机上,smith和Smith就根本不是一个用户。
参数域由不定长的字符串组成,它由结束,接收方在完全接收到此序列前不会采取任何行动。方括号代表可选的参数域。如果不选择的话,系统选择默认的设置。
下面是SMTP命令: HELO MAIL FROM:
RCPT TO:
DATA
RSET
SEND FROM:
SOML FROM:
SAML FROM:
VRFY
EXPN
HELP [ ]
NOOP
QUIT
TURN
上面参数域的格式在下面给BNF的格式给出,其中的...代表对于一个域的一次或多次的重复。
::=
::=
::= < [ : ] >
::= | ,
::= @
::= | .
::= | # | [ ]
::= @
::= |
::=
::= |
::= |
::= | | -
::= <字符串> | <字符串> .
<字符串> ::= <字符> | <字符> <字符串>
::=
::= \ | \ | |
<字符> ::= | \
::= . . .
::= |
::=
::= 回车符(ASCII码13) ::= (ASCII码10)
::= 空格(ASCII码32) ::=由一个,两个或三个数字组成的介于0-255之间的数字
::= 所有A-Z的52个大小写英文字母
::= 128个ASCII字符,但不包括空格和特殊字符
::= 0-9数字
::=不包括,,或\的128个ASCII字符
::=所有128个ASCII字符
::= < | > | ( | ) | [ | ] | \ | . | , | ; | : | @ 或控制字符
注意: \是一个转意字符,它表示在其后的字符代表另外的意义。例如Joe\,Smith用于表示单独一个由逗号分隔的用户名。主机通常由转化为地址的名称代表。注意:域的名称元素是正式的名称,不能够使用昵称或假名。
有时候名称的转变机制可能不知道主机,这就造成了通信的阻塞。为了解决这个问题,可以采取两种方法:一种方法是:在#后加入一个十进制数表示主机地址;另一种方法是在其后加入32位的IP地址,IP地址的形式是由句号分隔的四个介于0-255之间的十进制数。时间戳行和返回路径行的格式通常由下面定义:
::= Return-Path:
::= Received:
::= ;
::= FROM <域>
::= BY <域>
::= [] [] [] []
::= VIA <连接>
::= WITH <协议>
::= ID <字符串>
::= FOR <路径>
<连接> ::= 在网络信息中心注册的连接的标准名称
<协议> ::= 在网络中心注册的协议的名称
::= <日期> <时间>
<日期> ::= <日> <月> <年>
<时间> ::= <小时> : <分> : <秒> <时区>

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com