《2022年邮件基础知识教程++++邮件协议介绍 .pdf》由会员分享,可在线阅读,更多相关《2022年邮件基础知识教程++++邮件协议介绍 .pdf(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、邮件基础知识教程一、SMTP1、概述SMTP 被用来在因特网上传递电子邮件。文件RFC821 规定了该协议的所有细节。协议的原理很简单。无非是一个客户端计算机向服务器发送命令,然后服务器向客户端计算机返回一些信息。客户端发送的命令以及服务器的回应都是字符串。首先要与邮件服务器连接,服务器将返回文本。该文本包含一个三位数的代码及描述,例如:220-ns.cinfo.ru Sendmail 8.6.12/8.6.9 ready at Wed,22 Apr 1998 22:54:41+0300 220 ESMTP spoken here 这些描述可能会因服务器而异。只须要知道代码所代表的意思就行了。
2、代码220 表示成功建立连接,服务器等待你的第一个命令。向服务器传递的第一个命令是HELO.该命令包含一个参数,即你的邮箱名。HELO oleg 注意:在RFC821 中,HELO 是一个可选择性命令,如果服务器不要求该命令的话,你可以把它忽略掉。如果命令成功,服务器会返回一个代码为250 的回应。下一步用 MAIL FROM命令告诉服务器你想发一封邮件。该命令以发信人的邮件地址为参数。MAIL FROM:发完命令后,如果服务器返回一个代码为250 回应,你就可以向服务器发送RCPT TO 命令了。RCPT TO 命令以收信人地址为参数,是告诉服务器你想将邮件发到收信人地址处。RCPT TO:
3、如果你想将邮件发给多个收件人的话。你需要多次使用RCPT TO 命令,对每个命令,服务器都会返回代码为250 的回应。现在可以向服务器发送邮件正文了。用DATA 命令告诉服务器以下的内容为邮件正文。在你从服务器收到代码为354 的回应后,你就可以发送邮件正文了。邮件按行发送,每行邮件以一个无回车的换行符结束,只须按回车键就行了。下面是一个例子:Subject:My first e-mail message.First line of a message.Second line.注意上面最后一行的最后一个字符是一个小数点。这是正文结束的标志。服务器收到这个标志后,就会立即返回一个代码为250 的
4、回应以及该邮件的唯一ID 号。250 WAA10568 Message accepted for delivery 任务完成了,可以继续发送下封邮件,也可以断开同服务器的连接。如果要断开同服务器的连接就用 QUIT 命令。在这种情况下,服务器会返回一个代码为221 的回应并断开连接。QUIT 221 ns.cinfo.ru closing connection 2、工作机制SMTP 设计基于以下通信模型:针对用户的邮件请求,发送SMTP 建立与接收 SMTP 之间建立一个双向传送通道。接收SMTP 可以是最终接收者也可以是中间传送者。SMTP 命令由发名师资料总结-精品资料欢迎下载-名师精心整
5、理-第 1 页,共 11 页 -送SMTP 发出,由接收 SMTP 接收,而应答则反方面传送。一旦传送通道建立,SMTP 发送者发送 MAIL 命令指明邮件发送者。如果 SMTP 接收者可以接收邮件则返回OK 应答。SMTP 发送者再发出RCPT 命令确认邮件是否能接收到。如果SMTP 接收者接收,则返回OK 应答;如果不能接收到,则发出拒绝接收应答(但不中止整个邮件操作),双方将如此重复多次。当接收者收到全部邮件后会接收到特别的序列,如果接收者成功处理了邮件,则返回OK 应答SMTP 提供传送邮件的机制,如果接收方与发送方连接在同一个传送服务下时,邮件可以直接由发送方主机传送到接收方主机;或
6、者,当两者不在同一个传送服务下时,通过中继 SMTP服务器传送。为了能够对SMTP 服务器提供中继能力,它必须拥有最终目的主机地址和邮箱名称。MAIL 命令参数是回复路径,它指定邮件从何处来;而RCPT命令的参数是转发路径的,它指定邮件向何处去。向前路径是源路径,而回复路径是返回路径(它用于发生错误时返回邮件)。3、基本命令(所有的命令都是四个字母组成)发送邮件操作涉及到不同的数据对象,它们由不同的参数相互连接。回复路径就是MAIL 命令的参数,而转发路径则是RCPT 命令的参数,邮件日期是DATA 命令的参数。这些参数或者数据对象必须跟在命令后。这种模式也就要求有不同的缓冲区来存储这些对象,
7、也就是说,有一个回复路径缓冲区,一个转发路径缓冲区,一个邮件内容缓冲区。特定的命令产生自己的缓冲区,或使一个或多个缓冲的内容被清除(0)HELO(HELLO)HELO SP domain CRLF 通知服务器客户的身份。此命令用于向接收SMTP 确认发送 SMTP。参数域包括发送SMTP 的主机名。接收 SMTP通过连接确认命令来向发送SMTP 确认接收 SMTP。引命令和 OK响应确认发送和接收SMTP进入了初始状态,也就是说,没有操作正在执行,所有状态表和缓冲区已经被子清除。(1)MAIL MAIL FROM:此命令用于开始将邮件发送到一个多个邮箱中。参数域包括回复路径。返回路径中包括了可
8、选的主机和发送者邮箱列表。当有主机列表时,它是一个回复路径源,它说明此邮箱是由在表中的主机一一传递发送(第一个主机是最后一个接收到此邮件的主机)过来的。此表也有作向发送者返回非传递信号的源路径。因为每个传递主机地址都被加在此表起始处,它就必须使用发送 IPCE 而不是接收 IPCE(如果它们不是一个IPCE 的话)清楚的名称。一些出错信息的回复路径可能就是空的。此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将此命令的回复路径信息插入到回复路径缓冲区中。(2)RCPT(recipient)RCPT TO:此命令用于确定邮件内容的唯一接收者;多个接收者将由多个此命令指定。转发路径中
9、包括一个可选的主机和一个必须的目的邮箱。此命令给出向前路径标识接收者,如果命令被接收,接收方返回一个250 OK 应答,并存储向前路径。如果接收者未知,接收方会返回一个550 Failure应答。此过程可能会重复若干次。不仅包括邮件,它是主机和目的邮箱的路由表,在其中的第一个主机就是接收命令的主机。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 11 页 -(3)DATA DATA 如果命令被接收,接收方返回一个354 Intermediate应答,并认定以下的各行都是信件内容。当信件结尾收到并存储后,接收者发送一个250 OK 应答。因为邮件是在传送通道上发送,因此必须指明邮件
10、内容结尾,以便应答对话可以重新开始。SMTP 通过在最后一行仅发送一个句号来表示邮件内容的结束,在接收方,一个对用户透明的过程将此符号过滤掉,以不影响正常的数据。注意:邮件内容包括如下提示:Date,Subject,To,Cc,From。邮件内容指示符确认邮件操作并告知接收者可以存储和再发送数据了。如果此命令被接收,接收方返回一个250 OK 应答。DATA 命令仅在邮件操作未完成或源无效的情况下失败。(4)RSET RSET 此命令指示当送邮件操作将被放弃。任何保存的发送者,接收者和邮件内容应该被抛弃,所有缓冲区和状态表应该被清除,接收方必须返回OK应答。(5)SEND SENDFROM:r
11、everse-path 此命令用于开始一个发送命令,将邮件发送到一个或多个终端上。参数域包括了一个回复路径,此命令如果成功就将邮件发送到终端上了。回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,表示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的(列表上第一个主机是最后经手的主机)。此表用于返回非传递信号到发送者。因为每个传递主机地址都被加在此表起始处,它就必须使用发送IPCE而不是接收 IPCE(如果它们不是一个IPCE的话)清楚的名称。一些出错信息的回复路径可能就是空的。此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将此命令的回复路径信息插入到回
12、复路径缓冲区中。(6)SOML(send or mail)SOMLFROM:reverse-path 此命令用于开始一个邮件操作将邮件内容传送到一个或多个终端上,或者传送到邮箱中。对于每个接收者,如果接收者终端打开,邮件内容将被传送到接收者的终端上,否则就送到接收者的邮箱中。参数域包括回复路径,如果成功地将信息送到终端或邮箱中此命令成功。回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,表示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的(列表上第一个主机是最后经手的主机)。此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将此命令的回复路径信息插入到回复
13、路径缓冲区中。(7)SAML(send and mail)SAMLFROM:reverse-path 此命令用于开始一个邮件操作将邮件内容传送到一个或多个终端上,并传送到邮箱中。如果接收者终端打开,邮件内容将被传送到接收者的终端上和接收者的邮箱中。参数域包括回复路径,如果成功地将信息送到邮箱中此命令成功。回复路径包括一个可选的主机列表和发送者邮箱。当出现主机列表时,表示这是一个传送路径,邮件就是经过这个路径上的每个主机发送到这里的(列表上第一个主机是最后经手的主机)。此命令清除回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区,并且将此命令的回复名师资料总结-精品资料欢迎下载-名师精心整理-第 3
14、 页,共 11 页 -路径信息插入到回复路径缓冲区中。(8)VRFY(verify vt.证实,查证;证明)VRFY string 此命令要求接收者确认参数是一个用户。如果这是(已经知道的)用户名,返回用户的全名和指定的邮箱。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有影响。(9)EXPN(expand vt.扩大;使膨胀)EXPN string 此命令要求接收者确认参数指定了一个邮件发送列表,如果是一个邮件发送列表,就返回表中的成员。如果这是(已经知道的)用户名,返回用户的全名和指定的邮箱。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有影响。(10)NOOP NOO
15、P 此命令不影响任何参数和已经发出的命令。它只是说明没有任何操作而不是说明接收者发送了一个 OK应答。此命令对回复路径缓冲区,转发路径缓冲区和邮件内容缓冲区没有影响。(11)QUIT QUIT 此命令指示接收方必须发送OK 应答然后关闭传送信道。接收方在接到 QUIT 命令并做出响应之前不应该关闭通信信道。发送方在发送QUIT 命令和接收到响应之前也不应该关闭信道。即使出错,也不应该关闭信道。如果连接被提前关闭,接收方应该象接收到RSET命令一样,取消所有等待的操作,但不恢复原先已经做过的操作。而发送方应该象接收到暂时错误(4XX)一样假定命令和操作仍在支持之中。4、SMTP 响应对SMTP
16、命令的响应是多样的,它确定了在邮件传输过程中请求和处理的同步,也保证了发送 SMTP 知道接收 SMTP 的状态。每个命令必须有且只有一个响应。SMTP 响应由三位数字组成,其后跟一些文本。数字帮助决定下一个应该进入的状态,而文本对人是有意义的。三位的响应已经包括了足够的信息,不用再阅读文本,文本可以直接抛弃或者传递给用户。特别的是,文本是与接收和环境相关的,所以每次接收到的文本可能不同。在附录E中可以看到全部的响应码。正规的情况下,响应由下面序列构成:三位的数字,一行文本和一个,或者也可以是一个多行响应。只有 EXPN 和 HELP 命令可以导致多行应答,然而,对所有命令,多行响应都是允许的
17、。三位的应答码每一位都有特定的意义。每一位应答表示是否是成功的,失败的或未完成的。通过这一位,不复杂的SMTP 发送就可以决定下一步的操作,如果发送方希望大概了解究竟出了什么问题,它可以检测第二位,而第三位则保存了最后更完整的信息。也就是说,从第一位到第三位,接收方可以一步比一步精确地确定接收方的状态。(1)对于第一位有五种可能的表示代表不同的意义:1yz 部分完成应答命令被接受,但是要求的操作被中止,原因在应答码中。发送方应该再次发送另一命令指明是否继续操作,或者放弃操作。2yz 全部完成应答要求的操作已经完成,可以开始另一个新的请求。3yz 需要近一步信息的部分完成应答命令被接受,但是要求
18、的操作被中止,需要接收进一步的信息。发送方应该发送另一条命令指明进一步的信息。名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 11 页 -4yz 暂时未完成应答命令未被接受,要求的操作也未执行,但是发生错误的状态是暂时的,可以再一次请求操作。发送者应该返回命令序列的开始命令(如果有的话)。很难解释这个暂时的意义,特别对于两个不同的站点来说。区别应答是属于些类还是下一类的方法是:如果能够不加任何改变地重复的再一次发送命令,就是本类的,如果不是,就是下一类(5yz)的。5yz 永久未完成应答命令未被接受,要求的操作未完成。发送对命令的重复不起作用。即使一些出错条件已经改变,但是用户已
19、经不希望重试,而希望在未来的某个时间再进行操作(2)应答的第二位的意义有以下几类:x0z 语法:此类型的应答是针对以下情况的:语法错误;符合语法但命令不存在功能;未完成或冗余的命令。x1z 信息:此类型的应答是用于请求信息的,如状态或帮助信息。x2z 连接:此类型的应答是关于传输信道的。x3z 未使用。x4z 未使用。x5z 邮件系统:此类型的应答指明接收方邮件系统关于请求传送或其它操作的状态的。(3)第三位给出了更详细的说明。ESMTP ESMTP(Extended SMTP),顾名思义,扩展 SMTP 就是对标准 SMTP 协议进行的扩展。它与 SMTP 服务的区别仅仅是,使用 SMTP
20、发信不需要验证用户帐户,而用 ESMTP 发信时,服务器会要求用户提供用户名和密码以便验证身份。验证之后的邮件发送过程与SMTP 方式没有两样。使用BASE64 加密后的用户名。二、POP3 POP 的全称是 Post Office Protocol,即邮局协议,用于电子邮件的接收,现在常用的是第三版,简称为 POP3。通过 POP 协议,客户机登录到服务器上后,可以对自己的邮件进行删除,或是下载到本地,下载后,电子邮件客户软件就可以在本地对邮件进行修改、删除等。POP 服务器一般使用的是TCP 的 110 号端口,以下对几个常用的POP3 命令作一个简单的介绍:命令参数 状态 描述-USER
21、 username 认可此命令与下面的pass 命令若成功,将导致状态转换PASS password认可APOP Name,Digest 认可Digest 是 MD5 消息摘要-STAT None 处理请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数UIDL Msg#处理返回邮件的唯一标识符,POP3 会话的每个标识符都将是唯一的LIST Msg#处理返回邮件数量和每个邮件的大小RETR Msg#处理 返回由参数标识的邮件的全部文本DELE Msg#处理 服务器将由参数标识的邮件标记为删除,由名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 11 页 -quit 命令执行RS
22、ET None处理服务器将重置所有标记为删除的邮件,用于撤消 DELE 命令TOP Msg#处理 服务器将返回由参数标识的邮件前n 行内容,n必须是正整数NOOP None 处理服务器返回一个肯定的响应,不做任何操作。-QUIT None 更新退出POP3 协议的基本操作:1 服务器通过侦听tcp 端口 110 开始 POP3 服务。2 当客户需要服务时,它与服务器建立连接,连接建立后,POP3 服务器发送确认消息3 客户与服务器相互交互命令和响应,持续到连接终止。POP3 命令由一个命令和一些参数组成POP3 响应由一个状态码和一个可能跟有附加信息的命令组成。两种状态码:确定(+OK)和错误
23、(-ERR)POP3 在生命周期中经历的状态:“确认”“操作”“更新”基础的 POP3 命令有:USER name 在确认状态下有效可选的命令:APOP name digest PASS string QUIT STAT 在操作状态下有效 TOP msg n LIST msg UIDL msg RETR msg DELE msg NOOP REST QUIT 在更新状态下有效POP3 响应有:+OK-ERR 注意:除了STAT,LIST,UIDLD的响应外,其他命令的响应都为+OK 和-ERR。响应后的所有文件将被客户略去。三、IMAP 基础知识:IMAP(Internet消息访问协议)是与P
24、OP3 对应的另一种协议,为美国斯坦福大学在1986 年开始研发的多重邮箱电子邮件系统。它能够从邮件服务器上获取有关Email的信息或直接收取邮件,具有高性能和可扩展性的优点。IMAP 为很多客户端电子邮件软件所采纳,如Outlook Express、Netscape Messenger等,支持 IMAP 的服务器端的软件也越来越多,如Critical Path、Eudora、iPlanet、Sendmail 等。读者不禁要问,POP3 也是接收邮件的协议,现在不是用得很好么,为何还要用IMAP协议呢?POP3协议的不足的确,POP 作为 Internet 上邮件的第一个离线协议标准,允许用户
25、从服务器上把邮件下载到本地主机上,同时删除保存在邮件服务器上的邮件,从而使用户不必长时间地与邮件服务器连接,很大程度上减少了服务器和网络的整体开销。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 11 页 -但 POP3 有其天生的缺陷,即当用户接收电子邮件时,所有的信件都从服务器上清除并下载到客户机。在整个收信过程中,用户无法知道邮件的具体信息,只有照单全收入硬盘后,才能慢慢浏览和删除。这使用户几乎没有对邮件接收的控制决定权。一旦碰上邮箱被轰炸,或有比较大的邮件,用户不能通过分析邮件的内容及发信人地址来决定是否下载或删除,从而造成系统资源的浪费。而IMAP 协议不但可以克服PO
26、P3的缺陷,而且还提供了更强大的功能。对 IMAP 的解析IMAP 提供操作的三种模式在线方式:邮件保留在 Mail 服务器端,客户端可以对其进行管理。其使用方式与 Web Mail相类似。离线方式:邮件保留在Mail 服务器端,客户端可以对其进行管理。这与 POP协议一样。分离方式:邮件的一部分在Mail 服务器端,一部分在客户端。这与一些成熟的组件包应用(如 Lotus Notes/Domino)的方式类似。IMAP 工作原理及特性在在线方式下,IMAP 允许用户象访问和操纵本地信息一样来访问和操纵邮件服务器上的信息。IMAP 软件支持邮件在本地文件夹间和服务器文件夹间的随意拖动,以把本地
27、硬盘上的文件存放到服务器上,或将服务器上的文件取回本地,所有的功能仅需要一次鼠标拖放的操作来实现。在用户端可对服务器上的邮箱建立任意层次结构的文件夹,并可灵活地在文件夹间移动邮件,标出那些读过或回复过的邮件,删除对你来说无用的文件。IMAP 提供的摘要浏览功能可以让你在阅读完所有的邮件到达时间、主题、发件人、大小等信息,同时还可以享受选择性下载附件的服务。比如一封邮件里含有3 个附件,而其中只有 1 个附件是您需要的,则可 以 选 择 只 下 载 这 1 个 附 件。你可以充分了解后才作出是否下载,是全部下载还是仅下载一部分等决定,使用户不会因下载垃圾信息而占用宝贵的空间和浪费网费。IMAP
28、还提供基于服务器的邮件处理以及共享邮件信箱等功能。邮件(包括已下载邮件的副本)在手动删除前保留在服务器中,这有助于邮件档案的生成和共享。用户可在任何客户机上都可查看服务器上的邮件。这让那些漫游用户感到很方便。同时 IMAP 也象 POP3 一样,允许用户从服务器上下载信息到他们的电脑上,这意味着他们仍然可以在离线方式下阅读邮件。在分离状态下,本地系统上的邮件状态和服务器上的邮件状态,可能和以后再连接时不一样。此时,IMAP的同步机制解决了这个问题。IMAP 邮件的客户端软件能够记录用户在本地的操作,当他们连上网络后会把这些操作传送给服务器,服务器也会告诉客户端软件,当用户离线的时候服务器端发生
29、的事件,比如有新邮件到达等,以保持服务器和客户端的同步。在 IMAP 下可定义供其他拥有特别访问权利的用户使用的共享文件夹,而使用POP 不能实现共享邮件信箱和共享邮件,仅能通过抄送给或用手工传送邮件。共享信箱将使以使用 Internet 邮件为主的工作组的工作变得更为容易。IMAP 还提供许多特别的功能比如建立子目录和通过IMAP 访问 Usenet。在系统管理员方面,IMAP 也提供了一整套可用的特性。IMAP 的监听端口为143,消息的内在时间和日期是由服务器给出的,而不是在RFC822中信头给出的时间和日期,是消息最后到达的真实日期和时间。如果信息是被IMAP 的Copy 命令投递的,
30、这应当是源信息的内在时间和日期;如果信息是被IAMP 的 Append名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 11 页 -命令投递的,这应当是由Append 命令专门描述的时间和日期。在 IMAP 协议中定义了很多的命令,可用 telnet 来执行,例如 Authenticate、List 和 Close等等,此处不再详述。实现 IMAP 的不足在利用服务器磁盘资源方面,IMAP 不如 POP3。由于使用POP 时服务器端的邮件被下载到客户机的同时会删除,因而不占用额外空间用以存放旧的邮件。而 IMAP 服务器将保持旧的邮件,占用了额外空间,而且需要定期地删除旧邮件。同时
31、,由于用户查阅信息标题和决定下载哪些附件,也需要一定时间,因此链接时间也比 POP方式长。在应用方面,由于 IMAP 比较复杂,给开发者开发服务器和客户机的软件带来一些难题。对于 ISP 来说,采用 IMAP 意味着要花钱购买相关商业软件,同时会付出高额技术支撑费用,因而商用的实现方案还不多。目前有一些国内的免费电子邮件站点提供IMAP4 的服务,如广州的 ,四川的 ,北京的 等。只要我们到对应网址申请账号,设置好我们的客户端软件后就可体会到不同于POP3 的 IMAP 新特性IMAP 命令任何时候,每个IMAP4 服务处理线程都处于4 种处理状态的其中一种。大部分的IMAP4 命令都只会在某
32、种处理状态下才有效。如果IMAP4客户端软件企图在不恰当的状态下发送命令,则服务器将返回协议错误的失败信息,如BAD 或NO等等。非认证状态在这个状态下,客户软件必须发出认证请求命令。在IMAP4连接建立时,服务器处理线程自动进入这个状态。认证状态在认证状态下,客户软件必须选择一个邮箱。这个状态在认证请求命令得到确认答复后进入,或在预认证连接建立后直接进入。已选择状态这个状态表示IMAP4 客户软件已经选择了某一Folder。在这个状态下可以发送所有检索邮件内容的命令。名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 11 页 -离线状态在这个状态,连接已经终止,服务器将关闭这个连
33、接。客户端软件可以发出命令或由服务器强制进入这个状态。2.3.4 IMAP 命令概要IMAP 协议中的命令与POP3 中最大的不同是每条命令前都一有一个由Client 指定的标签,同一个会话中,Client发出的每条命令都会有不同的标签;而Server对每个 Client发出的命令都必须以相同的标签作应答。这就使得IMAP 会话中 Client 可以同时送出多个命令,而Server则完全可以并发处理这些命令,不必等待上一个命令执行完毕才处理下一个。下面是若干常用的IMAP 命令TAG LOGIN user name passwordLOGIN 命令用于登录IMAP 服务器,与 POP3 显著不
34、同的是用户名和口令同时作为参数提交给 Server,而 POP3 完成同样的操作需要USER和PASS两条命令。C:a001 LOGIN SMITH SESAME S:a001 OK LOGIN completed TAG CREATE folder CREATE 可以创建指定名字的文件夹。文件夹名字通常是带路径的文件夹全名。C:A003 CREATE owatagusiam/S:A003 OK CREATE completed C:A004 CREATE owatagusiam/blurdybloop S:A004 OK CREATE completed TAG DELETE folder
35、DELETE 命令删除指定名字的文件夹。文件夹名字通常是带路径的文件夹全名。C:A683 DELETE blurdybloop S:A683 OK DELETE completed C:A684 DELETE foo S:A684 NO Name foo has inferior hierarchical names C:A685 DELETE foo/bar S:A685 OK DELETE Completed TAG RENAME old folder new folder RENAME 命令可以修改文件夹的名称。C:A683 RENAME blurdybloop sarasoop S:A
36、683 OK RENAME completed C:A684 RENAME foo zowie S:A684 OK RENAME Completed TAG LIST BASE templateLIST 命令用于列出邮箱中已有的文件夹,有点像操作系统的列目录命令。这个命令可以包含起始的路径位置和需要列出的文件夹所符合的特征,可以使用通配符*。名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 11 页 -C:A101 LIST S:*LIST(Noselect)/S:A101 OK LIST Completed C:A102 LIST#p.mail.misc S:*LIST(Nose
37、lect).#news.S:A102 OK LIST Completed C:A103 LIST/usr/staff/jones S:*LIST(Noselect)/S:A103 OK LIST Completed C:A202 LIST/Mail/%S:*LIST(Noselect)/Mail/foo S:*LIST()/Mail/meetings S:A202 OK LIST completed TAG APPEND folder attributes size mail dataAPPEND 命令允许 Client上载一个邮件到指定的Folder中。命令中包含了新邮件的属性、大小,随后是
38、邮件数据。C:A003 APPEND saved-messages(Seen)310 C:Date:Mon,7 Feb 1994 21:52:25-0800(PST)C:From:Fred Foobar foobarBlurdybloop.COM C:Subject:afternoon meeting C:To:moochowatagu.siam.eduC:Message-Id:B27397-0100000Blurdybloop.COMC:MIME-Version:1.0 C:Content-Type:TEXT/PLAIN;CHARSET=US-ASCII C:C:Hello Joe,do y
39、ou think we can meet at 3:30 tomorrow?C:S:A003 OK APPEND completed TAG SELECT folder SELECT 命令让 Client 选定某个 Folder,表示即将对该Folder内的邮件作操作。C:A142 SELECT INBOX S:*172 EXISTS S:*1 RECENT S:*OK UNSEEN 12 Message 12 is first unseen S:*OK UIDV ALIDITY 3857529045 UIDs valid S:*FLAGS(Answered Flagged Deleted S
40、een Draft)S:*OK PERMANENTFLAGS(Deleted Seen*)Limited S:A142 OK READ-WRITE SELECT completed TAG FETCH FETCH 命令是 IMAP 协议里最复杂的命令。FETCH 的命令参数很多、很复杂,难以一一列举,但基本的特征是允许将邮件按照MIME 结构拆解为零碎的部件来提取。例如,可以名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 11 页 -利用 FETCH 命令提取邮件头、某一个附件、或某一邮件附件头部的某一字段,等等。TAG STORE mail id new attributes
41、STORE命令用于修改指定邮件的属性,包括给邮件打上已读标记、删除标记,等等。C:A003 STORE 2:4+FLAGS(Deleted)S:*2 FETCH FLAGS(Deleted Seen)S:*3 FETCH FLAGS(Deleted)S:*4 FETCH FLAGS(Deleted Flagged Seen)S:A003 OK STORE completed TAG CLOSE CLOSE命令表示 Client结束对当前 Folder的访问,随后可以SELECT 另一 Folder。C:A341 CLOSE S:A341 OK CLOSE completed TAG EXPUNGE 名师资料总结-精品资料欢迎下载-名师精心整理-第 11 页,共 11 页 -