3.7. 域
域是最近被引入ARPA Internet邮件系统的。使用域可以使地址空间从一
个平面的普通字符串主机名变成全局地址的一个层次结构。主机由一个域名取
代,起始主机是由一系列元串组成,它们由逗号按最特殊到一般的顺序排列。
例如,"USC-ISIF.ARPA","Fred.Cambridge.UK"和"PC7.LCS.MIT.ARPA"可
能是主机-域标识符。
无论域名在SMTP中如何使用,只有正式的名称才可以被使用,不可以使用
假名或昵称。
3.8. 改变角色
TURN命令可以用来改变在传输信道上通信的程序的角色。如果程序A现在是
发送SMTP,它发送TURN命令并接到OK应答(250)后,它就变为接收SMTP了。同
理,程序B也可以从接收SMTP变为发送SMTP。若要拒绝改变角色,接收方可以发
送502作为应答。
注意:此命令是可选的。在使用TCP的传输信道时,一般不使用此命令。然
而,当建立传输信道的代价比较大时,此命令很有用。例如,此命令可以支持一
般公共交换电话系统作为传输信道。
4. SMTP说明
4.1. SMTP命令
4.1.1. 命令语法
SMTP命令定义了邮件传输或由用户定义的系统功能。它的命令是由
结束的字符串。而在带有参数的情况下,命令本身由和参数分开,如果
未带参数可以直接和连接。邮箱的语法格式必须和接收站点的格式一致。
下面讨论SMTP命令和应答。
发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。回
复路径就是MAIL命令的参数,而转发路径则是RCPT命令的参数,邮件日期是
DATA命令的参数。这些参数或者数据对象必须跟在命令后。这种模式也就要
求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一
个转发路径缓冲区,一个邮件内容缓冲区。特定的命令产生自己的缓冲区,
或使一个或多个缓冲的内容被清除。
HELLO (HELO)
此命令用于向接收SMTP确认发送SMTP。参数域包括发送SMTP的主机名。
接收SMTP通过连接确认命令来向发送SMTP确认接收SMTP。引命令和OK响应确
认发送和接收SMTP进入了初始状态,也就是说,没有操作正在执行,所有状态
表和缓冲区已经被子清除。