科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道SMTP协议RFC文档中文版

SMTP协议RFC文档中文版

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

VERF和EXPN命令的字符串命令参数因为具体实现的不同而不能再加以限制了。在一些系统上,EXPN命令的参数可能是一个包含邮件列表的文件名,但是在Internet上有许多不同的文件结构。

作者:中国IT实验室 来源:中国IT实验室 2009年7月3日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共5页)

  1yz 部分完成应答

  命令被接受,但是要求的操作被中止,原因在应答码中。发送方应该再次发送另一命令指明是否继续操作,或者放弃操作。

  2yz 全部完成应答

  要求的操作已经完成,可以开始另一个新的请求。

  3yz 需要近一步信息的部分完成应答

  命令被接受,但是要求的操作被中止,需要接收进一步的信息。发送方应该发送另一条命令指明进一步的信息。

  4yz 暂时未完成应答

  命令未被接受,要求的操作也未执行,但是发生错误的状态是暂时的,可以再一次请求操作。发送者应该返回命令序列的开始命令(如果有的话)。很难解释这个暂时的意义,特别对于两个不同的站点来说。区别应答是属于些类还是下一类的方法是:如果能够不加任何改变地重复的再一次发送命令,就是本类的,如果不是,就是下一类(5yz)的。

  5yz 永久未完成应答

  命令未被接受,要求的操作未完成。发送对命令的重复不起作用。即使一些出错条件已经改变,但是用户已经不希望重试,而希望在未来的某个时间再进行操作。

  应答的第二位的意义有以下几类:

  x0z 语法:此类型的应答是针对以下情况的:语法错误;符合语法但命令不存在功能;未完成或冗余的命令。

  x1z 信息:此类型的应答是用于请求信息的,如状态或帮助信息。

  x2z 连接:此类型的应答是关于传输信道的。

  x3z 未使用。

  x4z 未使用。

  x5z 邮件系统:此类型的应答指明接收方邮件系统关于请求传送或其它操作的状态的。

  第三位给出了更详细的说明。列出的应答表说明了这一点。文本应答是推荐使用的,而不是必须使用的,它的内容是可以根据不同情况而变化的。另一方面,应答码必须严格遵守本节的说明。接收方不应该因为稍稍的不同情况而自己创建新的代码而不使用已经定义的代码。例如,如NOOP命令的情况,如果成功执行它后,不用返回任何新的信息,只用返回250应答。当发送的命令要求一个未实现的站点指定操作时,应答应该是502。 应答文本可能多于一行;在此情况下,文本必须被标记,接收文本的一方才不致于少读入一行数据。这要求特定的格式说明多行应答。此格式是:每一行,除了最后一行外,都以应答码加一个"-"开始。而最后一行以应答码加空格开始。如下例:

  123-First line

  123-Second line

  123-234 text beginning with numbers

  123 The last line

  通常情况下,接收的一方只用寻找应答码加空格的那一行就可以,而忽略前面行的内容。在特殊的情况下,发送方必须知道响应文本的内容,这时接收应答的一方可以通过当时的情况正确地决定是否需要知道文本的内容。

  附录 F 一些例子

  本节提供了一些SMTP会话的完整例子。

  典型的SMTP操作

  此类显示邮件如何由在USC-ISIF和机上的Smith发送到BBN-UNIX主机上Jones,Green和Brown的。这里,我们假设USC-ISIF主机直接和BBN-UNIX主机联系。Jones和Brown接收邮件,而Green在BBN-UNIX上没有邮箱。

  R: 220 BBN-UNIX.ARPA Simple Mail Transfer Service Ready

  S: HELO USC-ISIF.ARPA

  R: 250 BBN-UNIX.ARPA

  S: MAIL FROM:

  R: 250 OK

  S: RCPT TO:

  R: 250 OK

  S: RCPT TO:

  R: 550 No such user here

  S: RCPT TO:

  R: 250 OK

  S: DATA

  R: 354 Start mail input; end with .

  S: Blah blah blah...

  S: ...etc. etc. etc.

  S: .

  R: 250 OK

  S: QUIT

  R: 221 BBN-UNIX.ARPA Service closing transmission channel

  放弃SMTP操作

  R: 220 MIT-Multics.ARPA Simple Mail Transfer Service Ready

  S: HELO ISI-VAXA.ARPA R: 250 MIT-Multics.ARPA

  S: MAIL FROM:

  R: 250 OK

  S: RCPT TO:

  R: 250 OK

  S: RCPT TO:

  R: 550 No such user here

  S: RSET

  R: 250 OK

  S: QUIT

  R: 221 MIT-Multics.ARPA Service closing transmission channel

  转发邮件

  第一步:源主机到转发主机

  R: 220 USC-ISIE.ARPA Simple Mail Transfer Service Ready

  S: HELO MIT-AI.ARPA

  R: 250 USC-ISIE.ARPA

  S: MAIL FROM:

  R: 250 OK

  S: RCPT TO:<@USC-ISIE.ARPA:Jones@BBN-VAX.ARPA>

  R: 250 OK

  S: DATA

  R: 354 Start mail input; end with .

  S: Date: 2 Nov 81 22:33:44

  S: From: John Q. Public

  S: Subject: The Next Meeting of the Board

  S: To: Jones@BBN-Vax.ARPA

  S:

  S: Bill:

  S: The next meeting of the board of directors will be

  S: on Tuesday.

  S: John.

  S: .

  R: 250 OK

  S: QUIT

  R: 221 USC-ISIE.ARPA Service closing transmission channel

  第二步:转发主机到目的主机

  R: 220 BBN-VAX.ARPA Simple Mail Transfer Service Ready

  S: HELO USC-ISIE.ARPA

  R: 250 BBN-VAX.ARPA

  S: MAIL FROM:<@USC-ISIE.ARPA:JQP@MIT-AI.ARPA>

  R: 250 OK

  S: RCPT TO:

  R: 250 OK

  S: DATA

  R: 354 Start mail input; end with .

  S: Received: from MIT-AI.ARPA by USC-ISIE.ARPA ;

  2 Nov 81 22:40:10 UT

  S: Date: 2 Nov 81 22:33:44

  S: From: John Q. Public

  S: Subject: The Next Meeting of the Board

  S: To: Jones@BBN-Vax.ARPA

  S:

  S: Bill:

  S: The next meeting of the board of directors will be

  S: on Tuesday.

  S: John.

  S: .

  R: 250 OK

  S: QUIT

  R: 221 USC-ISIE.ARPA Service closing transmission channel

  确认和发送

  R: 220 SU-SCORE.ARPA Simple Mail Transfer Service Ready

  S: HELO MIT-MC.ARPA

  R: 250 SU-SCORE.ARPA

  S: VRFY Crispin

  R: 250 Mark Crispin

  S: SEND FROM:

  R: 250 OK

  S: RCPT TO:

  R: 250 OK

  S: DATA

  R: 354 Start mail input; end with .

  S: Blah blah blah...

  S: ...etc. etc. etc.

  S: .

  R: 250 OK

  S: QUIT

  R: 221 SU-SCORE.ARPA Service closing transmission channel

  获得和发送邮件 首先确定用户名,然后尝试将邮件发送到用户终端,当它失败时,发送到用户邮箱。

  R: 220 SU-SCORE.ARPA Simple Mail Transfer Service Ready

  S: HELO MIT-MC.ARPA

  R: 250 SU-SCORE.ARPA

  S: VRFY Crispin

  R: 250 Mark Crispin

  S: SEND FROM:

  R: 250 OK

  S: RCPT TO:

  R: 450 User not active now

  S: RSET

  R: 250 OK

  S: MAIL FROM:

  R: 250 OK

  S: RCPT TO:

  R: 250 OK

  S: DATA

  R: 354 Start mail input; end with .

  S: Blah blah blah...

  S: ...etc. etc. etc.

  S: .

  R: 250 OK

  S: QUIT

  R: 221 SU-SCORE.ARPA Service closing transmission channel

  上述问题的更有效的作法

  R: 220 SU-SCORE.ARPA Simple Mail Transfer Service Ready

  S: HELO MIT-MC.ARPA

  R: 250 SU-SCORE.ARPA

  S: VRFY Crispin

  R: 250 Mark Crispin

  S: SOML FROM:

  R: 250 OK

  S: RCPT TO:

  R: 250 User not active now, so will do mail.

  S: DATA

  R: 354 Start mail input; end with .

  S: Blah blah blah...

  S: ...etc. etc. etc.

  S: .

  R: 250 OK

  S: QUIT

  R: 221 SU-SCORE.ARPA Service closing transmission channel

  邮件列表 首先,两个邮件列表中的每一个在不同主机的不同会话上扩展,然后,通过转发主机向列表上的用户发送邮件。

  第一步:扩展第一个列表

  R: 220 MIT-AI.ARPA Simple Mail Transfer Service Ready

  S: HELO SU-SCORE.ARPA

  R: 250 MIT-AI.ARPA

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章