在学习时发现IMAP协议中有把其划分为四种状态:
1.Not Authenticated State: 这个很好理解,表时此时连接建立但没有被鉴权,其实此时很多command是不能被执行的。
2.Authenticated State:当鉴权完成后进入此状态。
3.Selected State: 如果一个Mailbox有被成功选择后进入此状态。
4.Logout State:Client端可以通过LOGOUT command进入此状态。
以上就是IMAP中定义的四种状态模型,其实很好理解。后继将看看几个比较常用的command.
以下图形来自RFC3501协议:
+----------------------+ |connection established| +----------------------+ || \/ +--------------------------------------+ | server greeting | +--------------------------------------+ || (1) || (2) || (3) \/ || || +-----------------+ || || |Not Authenticated| || || +-----------------+ || || || (7) || (4) || || || \/ \/ || || +----------------+ || || | Authenticated |<=++ || || +----------------+ || || || || (7) || (5) || (6) || || || \/ || || || || +--------+ || || || || |Selected|==++ || || || +--------+ || || || || (7) || \/ \/ \/ \/ +--------------------------------------+ | Logout | +--------------------------------------+ || \/ +-------------------------------+ |both sides close the connection| +-------------------------------+注意如果Client的自动退出时间为30分钟。