郵件IMAP和POP協(xié)議掃盲

今天先來簡(jiǎn)單的總結(jié)一下IMAP指令。
先來掃掃盲神馬是IMAP,我覺得wiki的解釋是最貼近的,先來看看定義: https://zh.wikipedia.org/wiki/IMAP

當(dāng)談及協(xié)議時(shí)我一般學(xué)習(xí)的步驟是這樣的:

  • wiki一下定義(主要是應(yīng)用領(lǐng)域、歷史等)
  • 看一下是否是標(biāo)準(zhǔn)協(xié)議,如果是看一下RFC定義(這也是了解協(xié)議的必須步驟)
  • 最后看一下標(biāo)準(zhǔn)的實(shí)現(xiàn)(比如:IMAP我就抓了一大堆OUTLOOK交互包,分析協(xié)議內(nèi)容)

POP3協(xié)議的指令集:

USER、PASS、LIST、STAT、UIDL、RETR、TOP、RSET、DELE、NOOP、QUIT、APOP

IMAP協(xié)議的指令集:

CAPABILITY、NOOP、LOGOUT、STARTTLS、AUTHENTICATE、LOGIN、SELECT、EXAMINE、CREATE、DELETE、RENAME、SUBSCRIBE、UNSUBSCRIBE、LIST、LSUB、STATUS、APPEND、CHECK、CLOSE、EXPUNGE、SEARCH、FETCH、STORE、COPY、UID

看到了IMAP指令比POP3多出很多,當(dāng)然這也是因?yàn)镮MAP是總結(jié)了POP3協(xié)議的不足在此基礎(chǔ)上進(jìn)行優(yōu)化的協(xié)議,復(fù)雜繁多也正式能力的表現(xiàn),IMAP做了很多POP3無法做到的事情,協(xié)議也同樣導(dǎo)致了服務(wù)器與客戶端實(shí)現(xiàn)的復(fù)雜度,和整個(gè)業(yè)界的認(rèn)可與推廣,還好的就是IMAP已經(jīng)在各大郵件服務(wù)器得到了實(shí)現(xiàn),這里GMAIL功不可沒啊。

IMAP協(xié)議的幾種狀態(tài):

  1. Not Authenticated State: 非認(rèn)證狀態(tài)
    這個(gè)狀態(tài)是還沒有進(jìn)行鑒權(quán)的過程,就是還沒有輸入用戶名與密碼進(jìn)行校驗(yàn)的狀態(tài),這種狀態(tài)下你不能對(duì)自己數(shù)據(jù)進(jìn)行操作,例如你想看一下文件夾列表,或是某封郵件等。

  2. Authenticated State: 認(rèn)證狀態(tài)
    這個(gè)狀態(tài)是已經(jīng)輸入了用戶名密碼并且已經(jīng)得到服務(wù)器驗(yàn)證通過,此狀態(tài)下才能對(duì)你的數(shù)據(jù)進(jìn)行操作,這也比較好理解。

  3. Selected State: 選擇狀態(tài)
    這個(gè)狀態(tài)的前提條件是"認(rèn)證狀態(tài)",至于為什么要有這個(gè)狀態(tài)呢,可以理解成是對(duì)數(shù)據(jù)的直接操作,例如:選擇一封郵件,將一封郵件設(shè)置已讀等。

指令簡(jiǎn)介:

  1. CAPABILITY
    服務(wù)器響應(yīng)能力描述,此指令個(gè)人理解是當(dāng)前郵件服務(wù)器的能力。
  2. NOOP
    與服務(wù)器保持連接,可以用來新郵件或者消息狀態(tài)更新。
  3. LOGOUT
    與服務(wù)器斷開連接
  4. STARTTLS
    與服務(wù)器使用TLS進(jìn)行交互
  5. AUTHENTICATE
    與服務(wù)器的認(rèn)證機(jī)制
  6. LOGIN
    鑒權(quán)登陸,輸入用戶名與密碼
  7. SELECT
    選擇文件夾
  8. EXAMINE
    選擇文件夾只讀方式
  9. CREATE
    創(chuàng)建一個(gè)文件夾
  10. DELETE
    刪除一個(gè)文件夾
  11. RENAME
    重命名一個(gè)文件
  12. SUBSCRIBE
    訂閱指定的郵箱地址
  13. UNSUBSCRIBE
    取消訂閱
  14. LIST
    返回詳細(xì)的文件夾列表
  15. LSUB
    返回訂閱的郵箱地址列表
  16. STATUS
    請(qǐng)求返回指定郵箱文件夾的狀態(tài)
  17. APPEND
    追加一個(gè)狀態(tài),例如可以保存一封新的郵件
  18. CHECK
    檢查當(dāng)前服務(wù)器狀態(tài)(例如:磁盤,內(nèi)存等)
  19. CLOSE
    永久刪除所有消息
  20. EXPUNGE
    永久刪除所有消息,與CLOSE不同的是,將返回每個(gè)消息標(biāo)識(shí)
  21. SEARCH
    類似linux系統(tǒng)find命令,功能很強(qiáng)大可以按照不同條件搜索郵件
  22. FETCH
    檢索與消息相關(guān)數(shù)據(jù),例如:獲取正文
  23. STORE
    改變與消息相關(guān)數(shù)據(jù),例如:設(shè)置郵箱已讀、刪除狀態(tài)等
  24. COPY
    拷貝指定的消息
  25. UID
    返回UID列表用于fetch

參考:

  1. IMAP簡(jiǎn)介
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容