2014-12-02 90 views
1

這是允許對IMAP APPEND命令的「回覆」嗎?有時我想上傳郵件的郵件服務器以這種方式響應,而我目前的實現允許使用EXPUNGE。在IMAP APPEND命令中允許EXPUNGE

A00003 APPEND "somefolder" (\Seen) "12-Dec-2012 12:12:12 +0000" {1212} 
* 1 EXPUNGE 
* 18 EXISTS 
* 18 RECENT 
+ send APPEND data... 

我有什麼:

https://tools.ietf.org/html/rfc3501#section-7.4.1

的EXPUNGE反應絕不能在沒有命令執行過程中, 也不發送在響應一個FETCH,STORE,或者SEARCH命令。

另外:

的命令不是 「進行中」,直到完整的命令 已被接收;特別是在命令繼續協商期間命令不是「進行中」 。

我不能把這些東西放在一起。

回答

1

服務器的行爲不正確。它不應該發送EXPUNGE,然後繼續發送+。也就是說,這個規則

in particular, a command is not "in progress" during the 
negotiation of command continuation 

是有點沒意義,我不會相信隨機服務器服從它。

我可以猜測爲什麼規則存在。在類似下面的命令中,3:7的含義取決於EXPUNGE響應的客戶端解析並構建字符串3:7之前採取行動:

a uid search subject {3} 
foo 
3:7 

但是服務器必須處理的MSN。客戶通常可以選擇通過使用UID而不是MSN來避免整個問題區域。

我的建議是避免發送MSN,始終使用UID,並儘量容忍奇怪定時的EXPUNGE響應。

+0

我同意,這是一個EXPUNGE技術上違反規範。 – Max 2014-12-02 16:00:29

+0

@Max:您的評論在技術上違背英語語法規範。 SCNR。 – arnt 2014-12-03 11:09:36

+0

:)。使用智能手機鍵盤進行回覆時,各種奇怪的東西都會出現。 – Max 2014-12-03 15:10:13