2013-06-05 58 views
4

對於那些熟悉IMAP的人 - 如果我檢索草稿消息(或任何有關該消息的消息),並且希望對其進行更新/編輯,我應該使用哪些命令?IMAP - 編輯草稿或現有消息?

我遇到的唯一命令是Append,它似乎只是插入,這意味着我將不得不從郵箱中刪除以前的草稿?

回答

10

IMAP旨在用於郵箱的服務器端管理,而不是用於編輯郵件。因此,您必須檢索所需消息的內容(FETCH),然後從服務器中刪除該消息(消息中的STORE a \Deleted標誌,然後刪除EXPUNGE消息),然後將更新的消息上載到服務器( APPEND)。沒有用於編輯現有消息內容的IMAP命令,僅用於更新與現有消息相關的標誌(STORE)。

+0

確實,規範保證了一個特定的消息對象(用UID標識)是不可變的。這是緩存電子郵件客戶端的重要保證。能夠編輯消息會破壞該保證。 – Max

+0

我只想補充一點,RFC3501 UID只在會話內部是不可變的http://tools.ietf.org/html/rfc3501#page-8 –

+0

可能需要編輯IMAP消息。隨着ZenDesk電子郵件支持系統的激增,gmail +所有客戶端中的線程/ convo視圖易於中斷。 Gmail似乎使用了主題,到,日期和日期範圍的組合。我更喜歡使用回覆ID和消息ID。改變主題以獲得主題/回覆視圖會很好。還將我的原始電子郵件添加到線索/ convo,而不是搜索支持ID#。任何人都知道一個IMAP客戶端,可以簡單編輯主題+刪除附件,電子郵件被標記爲保存文件的位置? – Scott

4

雷米的回答是正確的。最重要的是,如果服務器通過APPEND CATENATE支持CATENATE擴展名(這樣您就可以節省自己上傳現有附件等),那麼您可以稍微優化該過程。