2010-01-16 56 views
7

附加到一個郵箱如何確定其經由APPEND添加到郵箱的郵件的UID的消息的UID?通過STATUS我可以事先預測下一個值,然後我可以SEARCH,但依靠這些引入競爭條件,因爲可能在這些命令之間添加了其他消息。確定通過IMAP

回答

6

如果IMAP服務器支持UIDPLUS,你總是會得到一個APPENDUID響應。這將包含UID的UID和有效期。從RFC 4315

語法示例:

S: A003 OK [APPENDUID 38505 3955] APPEND completed 

如果您的郵件服務器犯規支持UIDPLUS,你將不得不爲UID做FETCH,一旦你的附加操作完成。如果您確定追加後沒有添加任何消息,請在FETCH響應中查找最後一條消息。

FETCH 1:* (UID) 

如果您收到加入擔心其他消息,可以節省一個IMAP頭像郵件ID的APPEND前後來在FETCH操作使用。