IMAP协议指令讲解
下面着重讲一下IMAP协议以及fetch指令,因为fetch指令时imap协议的核心功能,所以在此先着重讲解这个,后续回继续讲解别的。
1 IMAP协议数据帧格式
MAP协议采用对称的收发帧序列号作为一对儿收发数据帧的标识,从而防止接收数据混乱。每个会话的帧序列号都是按照升序增长。帧序列号由字母 数字组成,客户端生产的每个命令的帧序列号都不同。
Send:A001(帧序列号) + 具体指令
Recv:A001(帧序列号) + 响应内容
Send:A002(帧序列号) + 具体指令
Recv:A002(帧序列号) + 响应内容
…………………
…………………
Send:A00N(帧序列号) + 具体指令
Recv:A00N(帧序列号) + 响应内容
2. Fetch 指令分析
Fetch指令用于读取邮件的文本内容信息,且仅用于显示的目的。
2.1 fetch发送指令
格式:FETCH < sequence set > < message data item names or macro >
结果:OK-fetch完成
NO-fetch错误:不能获取该数据
BAD-未知命令,或者无效参数
参数1:sequence set
要读取的邮件序列集. 就是你想读取的邮件序列号的一个集合,如果UID命令使用了fetch参数,那么该值就是邮件的UID号而不是序列号(具体参考UID指令),具体格式参照下面。
格式:(从实际数据分析得出,协议里面暂时未找到)
a) 读取单个邮件序列号,下面的含义就是要读取邮件序列号为n。
Fetch n 参数2
b) 按顺序读取多个邮件序列号,下面