您现在的位置:网侠>精文荟萃>教你一招>正文
正文

SMTP命令详解

文章来源: 文章作者: 发布时间:2007-07-18 【字体:
收藏本文】 【推荐好友】 【进入博客】 【进入论坛
SMTP命令
命令语法
  SMTP命令定义了邮件传输或由用户定义的系统功能。它的命令是由
结束的字符串。而在带有参数的情况下,命令本身由和参数分开,如果
未带参数可以直接和连接。邮箱的语法格式必须和接收站点的格式一致。
下面讨论SMTP命令和应答。
  发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。回
复路径就是MAIL命令的参数,而转发路径则是RCPT命令的参数,邮件日期是
DATA命令的参数。这些参数或者数据对象必须跟在命令后。这种模式也就要
求有不同的缓冲区来存储这些对象,也就是说,有一个回复路径缓冲区,一
个转发路径缓冲区,一个邮件内容缓冲区。特定的命令产生自己的缓冲区,
或使一个或多个缓冲的内容被清除。

  字串8

  HELLO (HELO)
  此命令用于向接收SMTP确认发送SMTP。参数域包括发送SMTP的主机名。
接收SMTP通过连接确认命令来向发送SMTP确认接收SMTP。引命令和OK响应确
认发送和接收SMTP进入了初始状态,也就是说,没有操作正在执行,所有状态
表和缓冲区已经被子清除。

字串1

  MAIL (MAIL)
  此命令用于开始将邮件发送到一个多个邮箱中。参数域包括回复路径。
返回路径中包括了可选的主机和发送者邮箱列表。当有主机列表时,它是一
个回复路径源,它说明此邮箱是由在表中的主机一一传递发送(第一个主机
是最后一个接收到此邮件的主机)过来的。此表也有作向发送者返回非传递信
号的源路径。因为每个传递主机地址都被加在此表起始处,它就必须使用发送
IPCE而不是接收IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信
息的回复路径可能就是空的。
  此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将
此命令的回复路径信息插入到回复路径缓冲区中。
  RECIPIENT (RCPT)
  此命令用于确定邮件内容的唯一接收者;多个接收者将由多个此命令指定。
转发路径中包括一个可选的主机和一个必须的目的邮箱。当出现主机列表时,
这就是一个源路径,它指明邮件必须向列表中的上一个主机发送。如果接收
SMTP未实现邮件的传递发送,就会返回如未知本地用户(550)的信息给用户。
  当邮件被传递发送时,传递主机必须将自己的名称由转发路径的开始处

字串8

移至回复路径的结束处。当邮件最终到达目的地时,接收SMTP将以它的主机邮
件格式自己的名称插入目标邮件中。例如,由传递主机A接收的带有如下参
数的邮件时,
  FROM:
  TO:<@HOSTA.ARPA,@HOSTB.ARPA:USERC@HOSTD.ARPA>
  将会变成如下形式:
  FROM:<@HOSTA.ARPA:USERX@HOSTY.ARPA>
  TO:<@HOSTB.ARPA:USERC@HOSTD.ARPA>.
  此命令导致它的转发路径参数加入转发路径缓冲区中。 字串4

  DATA (DATA)
  接收者将跟在命令后的行作为邮件内容。此命令导致此命令后的邮件内容
加入邮件内容缓冲区。邮件内容可以包括所有128个ASCII码字符。邮件内容由只
包括一个句号的行结束,也就是如下的字符序列:".",它指示了
邮件的结束。
  邮件内容的结束指示要求接收者现在就处理保存的邮件内容。此过程将回复
路径缓冲区,转发路径缓冲区和邮件内容缓冲区的内容全部清空。如果操作成功,
接收者必须返回OK应答;如果失败也必须返回失败应答。
  当接收SMTP收到一条信息时,无论是用作转发还是此邮件已经到达目的地,
它都必须在邮件内容的开始处加上时间戳这一行,这一行指示了接收到邮件主
机和发出此邮件主机的标识,以及接收到邮件内容的时间和日期。转发的信件
将有多行这样的时间戳。当接收SMTP作最后一站的传送时,它将返回路径信息
行插入邮件中。此行包括了发送命令中的的信息。在这里,最
后一站的传送的意思是邮件将被送到目的用户手中,但在一些情况下,邮件可
能需要更进一步的加工并由另外的邮件系统传送。

字串7


  可能在返回路径中的邮箱与实际发送的邮件不一致,这个情况可能发生在
需要传送一个特定的错误处理信箱而不是信件发送者那里。上面所述说明了,
最后的邮件内容由一个返回路径行,和在其后的一个或多个时间戳行构成。这
些行后面是邮件内容的头和体信息。
  当处理后面的邮件数据指示部分成功时就需要特定的说明。这种情况可能
发生在发送SMTP发现当邮件需要传送给多个用户时,只能够成功地向其中的一
部分发送信息这种情况下。在这种情况下,必须对DATA命令发送OK应答,而接
收SMTP组织并发送一个"不可传递邮件"信息到信息的发送者。在此信息中或者
发送一个不成功接收者的列表,或者每次发送一个不成接收者,而发送多次。
所有不可传递邮件信息由MAIL命令发送。 字串2

  返回路径和接收时间戳例子
  Return-Path: <@GHI.ARPA,@DEF.ARPA,@ABC.ARPA:JOE@ABC.ARPA>
  Received: from GHI.ARPA by JKL.ARPA ; 27 Oct 81 15:27:39 PST
  Received: from DEF.ARPA by GHI.ARPA ; 27 Oct 81 15:15:13 PST
  Received: from ABC.ARPA by DEF.ARPA ; 27 Oct 81 15:01:59 PST
  Date: 27 Oct 81 15:01:01 PST
  From: JOE@ABC.ARPA
  Subject: Improved Mailing System Installed
  To: SAM@JKL.ARPA 字串6

  This is to inform you that ...

字串8


  SEND (SEND)
  此命令用于开始一个发送命令,将邮件发送到一个或多个终端上。参数
域包括了一个回复路径,此命令如果成功就将邮件发送到终端上了。
  回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,
表示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的
(列表上第一个主机是最后经手的主机)。此表用于返回非传递信号到发送者。
因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接

共2页: 上一页 1 [2] 下一页

上一篇:常见IP碎片攻击详解  下一篇:常用电脑密码破解
推荐新闻
     
 
邮箱:ewind@qq.com
建议您使用:1024*768以上分辩率浏览本站 如果你喜欢本站 请收藏本站 并推荐给你的朋友一起分享
免责声明:本站部分内容收集于网络,版权归原作者及出版社所有!如果您觉得侵犯了您的版权请来信告诉我们,我们会尽快删除其内容!