IETF推出用來取代IMAP的現代開源電子郵件協定JMAP

網際網路工程任務組(Internet Engineering Task Force,IETF)推出新的電子郵件協定JMAP(JSON Meta Application Protocol),這個協定更適合網頁以及行動裝置使用,電子郵件通知推送也更為即時。JMAP並非IMAP的升級版,而是一個全新的協定,使用結構化的JSON格式傳輸,修正了過去像是IMAP等開放協定的缺陷,主要用來取代IMAP與SMTP的組合。

 

IETF提到,IMAP並不適合用於網路資源受限的行動裝置上使用,而IMAP與其他協定諸如SMTP、CalDAV和CardDAV的組合,用來提供日曆和聯絡人功能,對開發者來說有一定的開發門檻。IETF認為,這樣的情況影響電子郵件的應用發展,許多新的客戶端以及擴充套件,僅為大型電子郵件服務開發,專有協定逐漸取代了開放協定。

 

IMAP IDLE功能有兩大問題,第一、更新機制效率不好,除非客戶端對所有資料夾開啟連接,否則一個連接只會通知更新一個資料夾的變更;第二、需要持續網路連線,在行動裝置實作IMAP有困難,對iOS來說更是無法使用。

 

而JMAP實作兩種推送機制,這兩種機制都以狀態字串觸發,讓客戶端知道有新訊息,接著客戶端接著以標準方式同步資料。對桌機客戶端與Webmail,其提供事件來源介面,使用持續的HTTP連接進行更新,對行動裝置以及網頁整合使用上,開發者可以設定回呼處理程序,執行應用程式伺服器推送。

 

JMAP可以在單個指令中,對多個訊息進行創建、更新與刪除的動作,這是舊的IMAP做不到的。另外,JMAP是無狀態協定,不需要持續連線,對於間歇網路存取,像是行動裝置更加友善,而且提供一系列彈性的指令,可以方便地進行批次處理,雖然還是能以串流的方式處理郵件,但是JMAP設計的初衷就是無狀態協定,減少斷開連接的手續。

 

在相容性支援上,JMAP資料模型相容於IMAP資料夾以及類Gmail標籤,實作JMAP的伺服器也能支援IMAP。JMAP還具有流量控制的能力,客戶端可以限制伺服器發送的資料量,當數量超過客戶端限制,則指令將回傳錯誤。

 

IETF認為,JMAP是新一代電子郵件開放標準,為電子郵件提供現代的功能支援,又具有良好的擴充性,可以輕鬆地加上日曆等服務,能正面影響整個生態系的發展。

(相關資訊來自iThome