0
我正在使用MailSystem.NET操作系統庫來處理IMAP。我的客戶端程序出現問題(用C#編寫)。它使用IMAP庫查詢郵件服務器。它將消息添加到客戶端數據庫後標記爲已刪除。但是,我不一定希望刪除電子郵件,因爲其他客戶端將無法閱讀電子郵件。使用IMAP刪除郵件不會從MailSystem.NET中刪除郵件
因此,我調用DeleteMessage(1,false),它應該將郵件標記爲已刪除,但由於'expunge'設置爲false,因此它不會從服務器上物理刪除。
如果我打開Thunderbird(一個不同的客戶端)並連接到郵箱,果然消息已經消失。但是,我的另一位客戶看到該消息仍然存在。郵件計數顯示爲1.如何確保當我從「INBOX」郵件文件夾返回郵件計數時,它只返回那些未標記爲刪除的郵件,即那些尚未被客戶端程序讀取的郵件計數?
這是郵件客戶端依賴,你不能做任何事情。選擇命令EXISTS響應總是返回郵箱中的郵件數量(不檢查任何郵件標記)。 – Ivar
例如,我如何獲取收件箱中未設置「已刪除」標誌的電子郵件的郵件數量? – jaffa
可能最快的方法是使用IMAP搜索。您可以搜索「UNDELETED」消息。 UNDELETED搜索鍵 - 沒有設置\ Deleted標誌的消息。在RFC 3501 6.4.4中定義。 – Ivar