简析IMAP协议交互过程

IMAP协议交互:

1)服务器通过侦听TCP端口143开始IMAP服务;

2)当客户机需要使用服务时,它将与服务器主机建立TCP连接;

3)建立连接后,服务器将返回一行用回车换行终结的问候信息,如:

     S: * OK IMAP4 Server(IMail 6.00)

或者 S: * PREAUTH IMAP4rev1 server logged in as Smith

     连接启动时,服务器问候信息有三种状态:

      * OK    表示连接成功,需要进一步的LOGIN命令;

      * PREAUTH  表示已经通过外部手段鉴别了连接,因此,不需要LONIN命令;

      * BYE   表示服务器将关闭连接。

      以上三个字符串是协议规定,且是IMAP自有的状态字。

4)接着客户端和IMAP服务器相互(分别)交换命令和响应,一直持续到连接终止。

IMAP4的命令以“标号tag”开头,加相应的命令,后面加上一个或多个参数,以CRLF结尾,例如 tag可以是A01A02

服务器的应答是对应相应标签的处理结果(OKNO),紧接着的是它附加信息,也以CRLF结尾。

服务器应答有:

OK应答: 表示服务器发来的一条信息,若带上tag,表明有关命令成功完成;

NO应答: 表示服务器发来的一条操作错误邮件,如果有tag,表明有关命令没有成功,无tag的格式表示警告,命令仍可能成功完成;

BAD应答:表示服务器发来的一条错误邮件,如果有tag,报告客户命令中协议级别的错误,无tag的格式表明因无法确认命令产生的协议级别的错误,也能表示一个服务器的内部错误。

以上三个状态响应是协议规定,且是IMAP自有的状态字。 

例如:

C: A01 LOGIN SMITH SESAME

  S: A01 OK LOGIN completed

或者 S: A01 NO LOGIN failureinvalid username/password


PS:对于IMAPS协议交互

IMAPSIMAP协议采用SSL加密的协议版本,所获取的信息均为加密的信息,所通过的端口是993端口,其交互过程中的状态字和IMAP4一样,只是在建立TCP连接后,再建立SSL连接,接着在建立的SSL中进行通信。

你可能感兴趣的:(简析IMAP协议交互过程)