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

📄 简单邮件传输协议.htm

📁 internet协议集
💻 HTM
📖 第 1 页 / 共 5 页
字号:
      <P align=justify>I: 354 -&gt; data -&gt; S: 250</P>
      <P align=justify>F: 552, 554, 451, 452</P>
      <P align=justify>F: 451, 554</P>
      <P align=justify>E: 500, 501, 503, 421</P>
      <P align=justify>RSET</P>
      <P align=justify>S: 250</P>
      <P align=justify>E: 500, 501, 504, 421</P>
      <P align=justify>SEND</P>
      <P align=justify>S: 250</P>
      <P align=justify>F: 552, 451, 452</P>
      <P align=justify>E: 500, 501, 502, 421</P>
      <P align=justify>SOML</P>
      <P align=justify>S: 250</P>
      <P align=justify>F: 552, 451, 452</P>
      <P align=justify>E: 500, 501, 502, 421</P>
      <P align=justify>SAML</P>
      <P align=justify>S: 250</P>
      <P align=justify>F: 552, 451, 452</P>
      <P align=justify>E: 500, 501, 502, 421</P>
      <P align=justify>VRFY</P>
      <P align=justify>S: 250, 251</P>
      <P align=justify>F: 550, 551, 553</P>
      <P align=justify>E: 500, 501, 502, 504, 421</P>
      <P align=justify>EXPN</P>
      <P align=justify>S: 250</P>
      <P align=justify>F: 550</P>
      <P align=justify>E: 500, 501, 502, 504, 421</P>
      <P align=justify>HELP</P>
      <P align=justify>S: 211, 214</P>
      <P align=justify>E: 500, 501, 502, 504, 421</P>
      <P align=justify>NOOP</P>
      <P align=justify>S: 250</P>
      <P align=justify>E: 500, 421</P>
      <P align=justify>QUIT</P>
      <P align=justify>S: 221</P>
      <P align=justify>E: 500</P>
      <P align=justify>TURN</P>
      <P align=justify>S: 250</P>
      <P align=justify>F: 502</P>
      <P align=justify>E: 500, 503</P>
      <P align=justify> </P>
      <P align=justify>4.4. 状态图</P>
      <P 
      align=justify>下面状态图是一个简单的SMTP实现,每一组命令都有一个状态图。在图中,只使用了响应码的第一位数字作为响应的代表。命令组是对每个命令建立模式然后以结构模式将命令集中起来的。对于每个命令有三种可能的应答:成功(S),失败(F)和错误(E)。在状态中,我们使用B代表开始,使用W代表等待应答。</P>
      <P align=justify> </P>
      <P align=justify><IMG height=242 alt="sample1.bmp (287550 bytes)" 
      src="简单邮件传输协议.files/sample1.jpg" width=396></P>
      <P align=justify>此状态图使用了如下命令:HELO, MAIL, RCPT, RSET, SEND, SOML, SAML, 
      VRFY, EXPN, HELP, NOOP, QUIT, TURN.</P>
      <P align=justify>下面是对于DATA命令的更复杂的状态图:</P>
      <P align=justify> </P>
      <P align=justify><IMG height=294 alt="sample2.bmp (375198 bytes)" 
      src="简单邮件传输协议.files/sample2.jpg" width=425></P>
      <P align=justify> </P>
      <P align=justify>注意:这里的邮件内容是多行的,接收者只能收到最后一行时才发出应答。</P>
      <P align=justify> </P>
      <P align=justify>4.5. 详细内容</P>
      <P align=justify>4.5.1. 最小实现</P>
      <P align=justify>为使SMTP能够工作,对于接收者来说,这是最少应该实现的命令:</P>
      <P align=justify> </P>
      <P align=justify>COMMANDS -- HELO</P>
      <P align=justify>MAIL</P>
      <P align=justify>RCPT</P>
      <P align=justify>DATA</P>
      <P align=justify>RSET</P>
      <P align=justify>NOOP</P>
      <P align=justify>QUIT</P>
      <P align=justify> </P>
      <P align=justify>4.5.2. 透明性</P>
      <P 
      align=justify>没有对数据透明性的保证,在发送类似"&lt;CRLF&gt;.&lt;CRLF&gt;"结束邮件内容时会发生错误。通常,用户不关心这个“非法”序列。若要所有用户能够透明地使用必须使用以下措施:</P>
      <P align=justify>1. 在发送邮件之间,发送SMTP必须检查邮件的每一行,如果是一个句号,就在行首再加一个句号。</P>
      <P align=justify>2. 
      当邮件被接收时,接收SMTP必须检查邮件的每一行,如果发现一行仅有一个句号,邮件就此结束,如果一行中有两个句号,那么这一行中就只应该有一个句号,而将第一个句号删除。</P>
      <P 
      align=justify>发送的邮件内容可以包括所有128个ASCII字符。所有字符发送到收信者的邮箱,包括格式符号和其它控制字符。如果传输信道提供一个8位数据流,7位的ASCII码就可以在其中传送,而将最高位置为0。一些系统在接收和存储时需要对数据进行格式转换。对于使用不同于ASCII字符集的主机或不能以串的形式而只能以记录形式存储的主机更是如此,如果必须进行转换,必须能够再次转换回来,对于用于存储转发的主机更是如此。</P>
      <P align=justify> </P>
      <P align=justify>4.5.3. 大小</P>
      <P 
      align=justify>一些对象需要最大和最小大小。也就是说,每个实现必须能够接收大于最小大小的对象,不能发送大于最大大小的对象。对于可能的最大大小,实现技术上并没有限制。</FONT></P>
      <TABLE cellSpacing=1 cellPadding=7 width=563 border=1>
        <TBODY>
        <TR>
          <TD vAlign=top width="12%"><FONT face=宋体 size=3>
            <P align=justify>用户</FONT></P></TD>
          <TD vAlign=top width="88%"><FONT face=宋体 size=3>
            <P align=justify>用户名的最大长度是64个字节。</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="12%"><FONT face=宋体 size=3>
            <P align=justify>域</FONT></P></TD>
          <TD vAlign=top width="88%"><FONT face=宋体 size=3>
            <P align=justify>域的最大长度是64个字符</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="12%"><FONT face=宋体 size=3>
            <P align=justify>路径</FONT></P></TD>
          <TD vAlign=top width="88%"><FONT face=宋体 size=3>
            <P align=justify>回复路径和转发路径的最大长度是256个字符</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="12%"><FONT face=宋体 size=3>
            <P align=justify>命令行</FONT></P></TD>
          <TD vAlign=top width="88%"><FONT face=宋体 size=3>
            <P align=justify>命令行的最大长度,包括回车符为512个字符</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="12%"><FONT face=宋体 size=3>
            <P align=justify>应答行</FONT></P></TD>
          <TD vAlign=top width="88%"><FONT face=宋体 size=3>
            <P align=justify>应答行的最大长度,包括回车符为512个字符</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="12%"><FONT face=宋体 size=3>
            <P align=justify>文本行</FONT></P></TD>
          <TD vAlign=top width="88%"><FONT face=宋体 size=3>
            <P 
align=justify>文本行的最大长度,包括回车符和为透明性增加的字符不得超过1000个字符</FONT></P></TD></TR>
        <TR>
          <TD vAlign=top width="12%"><FONT face=宋体 size=3>
            <P align=justify>接收缓冲区</FONT></P></TD>
          <TD vAlign=top width="88%"><FONT face=宋体 size=3>
            <P align=justify>接收缓冲区最多可以容纳100个接收者</FONT></P></TD></TR></TBODY></TABLE>
      <P><FONT face=宋体 size=3> </P>
      <P align=justify>如果出错,应答如下:</P>
      <P align=justify>500 行过长</P>
      <P align=justify>501 路径过多</P>
      <P align=justify>552 接收者过多</P>
      <P align=justify>552 邮件内容过多</P>
      <P align=justify> </P>
      <P align=justify>附录 A <A name=TCP传输服务><STRONG>TCP传输服务</STRONG></A></P>
      <P align=justify> </P>
      <P align=justify>传输控制协议(TCP)在ARPA Internet中使用,并遵守网络协议的US DoD标准。</P>
      <P 
      align=justify>SMTP传输信道连接建立在发送进程的端口U和接收进程的端口L上。一个单一的全双工信道用于传输。被指定用于此协议的服务端口为25,也就是说L=25。TCP连接支持传输8位字节,而SMTP只需要传输7位;这样,每个8位字符的最高位被置为0。</P>
      <P align=justify> </P>
      <P align=justify>附录 B <A name=NCP传输服务><STRONG>NCP传输服务</STRONG></A></P>
      <P 
      align=justify>ARPANET主机-主机协议(由网络控制程序实现)也可以用于ARPANET。SMTP传输信道连接建立在发送进程的端口U和接收进程的端口L上;其后,根据初始连接协议(ICP)建立一对简单连接。这一对简单连接被用作传输信道。此协议被指定为连接套接字25,也就是说L=25。NCP连接支持传输8位字节,而SMTP只需要传输7位;这样,每个8位字符的最高位被置为0。</P>
      <P align=justify> </P>
      <P align=justify>附录 C <A name=NITS><STRONG>NITS</STRONG></A></P>
      <P 
      align=justify>也可以使用网络独立转输服务。通过在NITS在发送进程和接收进程之间建立传输信道。发送进程执行CONNECT原语,然后等待接收ACCEPT原语。NITS连接支持传输8位字节,而SMTP只需要传输7位;这样,每个8位字符的最高位被置为0。</P>
      <P align=justify> </P>
      <P align=justify>附录 D <A name=X.25传输服务><STRONG>X.25传输服务</STRONG></A></P>
      <P align=justify> </P>
      <P align=justify>可以直接使用公共数据网络接收的X.25服务,然而,推荐在其上使用可靠的端到端的协议如TCP。</P>
      <P align=justify> </P>
      <P align=justify>附录 E <A name=应答码构成方法><STRONG>应答码构成方法</STRONG></A> 
      <BR>三位的应答码每一位都有特定的意义。每一位应答表示是否是成功的,失败的或未完成的。通过这一位,不复杂的SMTP发送就可以决定下一步的操作,如果发送方希望大概了解究竟出了什么问题,它可以检测第二位,而第三位则保存了最后更完整的信息。也就是说,从第一位到第三位,接收方可以一步比一步精确地确定接收方的状态。对于第一位有五种可能的表示代表不同的意义:</P>
      <P align=justify> </P>
      <P align=justify>1yz 部分完成应答</P>
      <P align=justify> </P>
      <P 
align=justify>命令被接受,但是要求的操作被中止,原因在应答码中。发送方应该再次发送另一命令指明是否继续操作,或者放弃操作。</P>
      <P align=justify> </P>
      <P align=justify>2yz 全部完成应答</P>
      <P align=justify> </P>
      <P align=justify>要求的操作已

⌨️ 快捷键说明

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