📄 简单邮件传输协议.htm
字号:
<P align=justify>在多个响应的情况下(通常是对于EXPN而言的),每个应答指定一个邮箱。在模糊请求的情况下,例如"VRFY
Smith",这里两个Smith的响应必须是"553 User ambiguous"。</P>
<P align=justify>确认用户名的情况如下例所示:例3:</P>
<P align=justify> </P>
<P
align=justify>-------------------------------------------------------------
</P>
<P align=justify>确认用户名</P>
<P align=justify>S: VRFY Smith R: 250 Fred Smith
<Smith@USC-ISIF.ARPA></P>
<P align=justify> </P>
<P align=justify>或者</P>
<P align=justify> </P>
<P align=justify>S: VRFY Smith</P>
<P align=justify>R: 251 User not local; will forward to
<Smith@USC-ISIQ.ARPA></P>
<P align=justify> </P>
<P align=justify>或者</P>
<P align=justify> </P>
<P align=justify>S: VRFY Jones</P>
<P align=justify>R: 550 String does not match anything.</P>
<P align=justify> </P>
<P align=justify>或者</P>
<P align=justify> </P>
<P align=justify>S: VRFY Jones</P>
<P align=justify>R: 551 User not local; please try
<Jones@USC-ISIQ.ARPA></P>
<P align=justify> </P>
<P align=justify>或者</P>
<P align=justify> </P>
<P align=justify>S: VRFY Gourzenkyinplatz</P>
<P align=justify>R: 553 User ambiguous.</P>
<P
align=justify>-------------------------------------------------------------</P>
<P align=justify> </P>
<P align=justify>邮箱列表要求多个响应的情况如下例所示:</P>
<P
align=justify>-------------------------------------------------------------
</P>
<P align=justify>扩展邮件列表的例子</P>
<P align=justify>S: EXPN Example-People</P>
<P align=justify>R: 250-Jon Postel <Postel@USC-ISIF.ARPA></P>
<P align=justify>R: 250-Fred Fonebone <Fonebone@USC-ISIQ.ARPA></P>
<P align=justify>R: 250-Sam Q. Smith <SQSmith@USC-ISIQ.ARPA></P>
<P align=justify>R: 250-Quincy Smith
<@USC-ISIF.ARPA:Q-Smith@ISI-VAXA.ARPA></P>
<P align=justify>R: 250-<joe@foo-unix.ARPA></P>
<P align=justify>R: 250 <xyz@bar-unix.ARPA></P>
<P align=justify> </P>
<BLOCKQUOTE>
<BLOCKQUOTE>
<P align=justify>或者</P></BLOCKQUOTE></BLOCKQUOTE>
<P align=justify>S: EXPN Executive-Washroom-List</P>
<P align=justify>R: 550 Access Denied to You.</P>
<P
align=justify>-------------------------------------------------------------</P>
<P align=justify> </P>
<P
align=justify>VERF和EXPN命令的字符串命令参数因为具体实现的不同而不能再加以限制了。在一些系统上,EXPN命令的参数可能是一个包含邮件列表的文件名,但是在Internet上有许多不同的文件结构。</P>
<P align=justify>VRFY和EXPN命令在最小实现中并不包括,当它们实现时,它们也不要求被在传送间实现。</P>
<P align=justify> </P>
<P align=justify>3.4. 发送信件(mailing)和获得信件(sending) </P>
<P
align=justify>SMTP的主要目的是将邮件发送到用户的邮箱中。由一些主机提供的类似的功能是把邮件送至用户的终端(如果用户正打开终端)。将邮件送到用户的邮箱中称为发送信件(mailing);而送至用户终端则称之为获得信件(sending)。因为在一些主机上,这两者的实现十分类似,所以它们同时被放入了SMTP中。然而,获得信件命令在SMTP的最小实现中是没有的。用户应该具有控制向终端上写信息的能力。大部分主机允许用户接受或者拒绝类似的信息。</P>
<P
align=justify>下面三个命令被定义来支持获得信件。它们被用于邮件命令而不是MAIL命令,指示接收SMTP这种操作的特殊意义:</P>
<P align=justify> </P>
<P align=justify>SEND <SP> FROM:<reverse-path>
<CRLF></P>
<P align=justify> </P>
<P
align=justify>SEND命令要求邮件内容直接传送到用户终端。如果用户未打开终端(或者未接收终端信息),450响应将返回一个RCPT命令。如果信息被成功发送,此操作成功。</P>
<P align=justify> </P>
<P align=justify>SOML <SP> FROM:<reverse-path>
<CRLF></P>
<P align=justify> </P>
<P
align=justify>Send或者MaiL命令要求将邮件内容直接发送到用户的终端上(如果用户在终端上)。如果用户不在终端上,邮件内容直接进入邮箱。如果邮件被发送到用户终端或者用户信箱,发送操作成功。</P>
<P align=justify> </P>
<P align=justify>SAML <SP> FROM:<reverse-path>
<CRLF></P>
<P align=justify> </P>
<P
align=justify>Send和MaiL命令要求邮件内容直接发送到用户终端上(如果用户在终端上)。不管怎么样,信件都会进入信箱。如果信件进入信箱,发送操作成功。</P>
<P align=justify> </P>
<P align=justify>用于MAIL命令的响应和这些命令的响应相同。</P>
<P align=justify> </P>
<P align=justify>3.5. 打开和关闭 </P>
<P align=justify>当打开传送通道时,要交换一些信息以确定双方的身份。以下的命令是用于打开和关闭的:</P>
<P align=justify> </P>
<P align=justify>HELO <SP> <domain> <CRLF></P>
<P align=justify> </P>
<P align=justify>QUIT <CRLF></P>
<P align=justify> </P>
<P align=justify>在HELLO命令中,主机自己发送命令,此命令可以被解释为:“你好,我是XX”。</P>
<P
align=justify>-------------------------------------------------------------</P>
<P align=justify>打开联结的例子</P>
<P align=justify> </P>
<P align=justify>R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service
Ready</P>
<P align=justify>S: HELO USC-ISIF.ARPA</P>
<P align=justify>R: 250 BBN-UNIX.ARPA</P>
<P
align=justify>-------------------------------------------------------------</P>
<P align=justify> </P>
<P
align=justify>-------------------------------------------------------------</P>
<P align=justify>关闭联结的例子</P>
<P align=justify> </P>
<P align=justify>S: QUIT</P>
<P align=justify>R: 221 BBN-UNIX.ARPA Service closing transmission
channel</P>
<P
align=justify>-------------------------------------------------------------</P>
<P align=justify> </P>
<P align=justify>3.6. 转发 </P>
<P
align=justify>转发路径可能是如下格式:"@ONE,@TWO:JOE@THREE",在这里,ONE,TWO和THREE是主机。这种格式用于强调地址和路径的区别。邮箱是绝对地址,路径是关于如何到达的信息。这两个概念不应该被混淆。</P>
<P
align=justify>概念上,转发路径的元素被移动到回复路径作为从一个SMTP服务器到另一个SMTP服务器的信息。回复路径是一个反向数据源路径,例如从当前信息的位置到发起者的位置。当一个SMTP服务器从转发路径中删除自己的标记并将它插入到回复路径中时,它必须使用它发送环境能够理解的名称来进行,以防它的名称在不同的环境中被理解为不同的名字。</P>
<P
align=justify>如果当SMTP接收到信息的转发路径的第一个元素不是此SMTP的标记时,此元素不从转发路径中删除,而被用来决定下一个应该发送到的SMTP服务器。在任何情况下,SMTP都将自己的标记加入反向路径中。</P>
<P
align=justify>使用源路径时,接收SMTP接收转发的邮件并发送到另一接收SMTP服务器上。接收服务器可以接受或拒绝转发本地用户的邮件。接收SMTP通过将它自己的标记从转发路径移至回复路径的开始处来改变命令参数。这时,接收SMTP变成了发送SMTP,也就建立了到下一个转发路径中SMTP的通道,然后,它向这个SMTP发送邮件。</P>
<P align=justify>在回复路径上的头一个主机应是发送SMTP命令的主机,在转发路径上第一个主机应是接收SMTP命令的主机。</P>
<P
align=justify>注意:转发路径和回复路径出现在SMTP命令和应答中,但不一定要出现在信息中。也就是说,没有必须要这样的路径特别这种格式出现在信息头的"To:","From:"和"CC:"等域中。</P>
<P
align=justify>如果SMTP服务器接受了转发任务,但后来它发现因为转发路径不正确或者其它原理无法发送邮件,它必须建立一个"undeliverable
mail"信号,将它此信号送到此信的发主者那里。</P>
<P
align=justify>此信号必须是从此主机的SMTP服务上发出的,当然了,此服务器不应该再报告出错信息的错误。一种阻止这种出错报告循环的情况是在信号的邮件命令的回复路径上置空。在传送此信息时,允许将回复路径也置为空。一个MAIL命令后的回复路径为空表现为如下形式:</P>
<P align=justify>MAIL FROM:<></P>
<P
align=justify>下例中显示了不可传送的邮件信息。此信息是对从HOSTW上的JOE发出的邮件经过在HOSTX需要经过HOSTZ到达HOSTY时出错的回应。我们看到的例子是在HOSTX和HOSTY之间发生的。</P>
<P
align=justify>-------------------------------------------------------------</P>
<P align=justify> </P>
<P align=justify>不可传送邮件信息的例子</P>
<P align=justify> </P>
<P align=justify>S: MAIL FROM:<></P>
<P align=justify>R: 250 ok</P>
<P align=justify>S: RCPT TO:<@HOSTX.ARPA:JOE@HOSTW.ARPA></P>
<P align=justify>R: 250 ok</P>
<P align=justify>S: DATA</P>
<P align=justify>R: 354 send the mail data, end with .</P>
<P align=justify>S: Date: 23 Oct 81 11:22:33</P>
<P align=justify>S: From: SMTP@HOSTY.ARPA</P>
<P align=justify>S: To: JOE@HOSTW.ARPA</P>
<P align=justify>S: Subject: Mail System Problem</P>
<P align=justify>S:</P>
<P align=justify>S: Sorry JOE, your message to SAM@HOSTZ.ARPA lost.</P>
<P align=justify>S: HOSTZ.ARPA said this:</P>
<P align=justify>S: "550 No Such User"</P>
<P align=justify>S: .</P>
<P align=justify>R: 250 ok</P>
<P align=justify> </P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -