我有一個IMAP帳戶,(例如[email protected]),我知道與我可以連接和複製的訊息傳回我的目的地很多圖書館。我想達到以下,同步(複製)IMAP郵件
- 第一次,我想下載所有郵件(包括髮送文件夾),並且當我下載的第一次,我會在一些數據庫在本地保存消息ID和UID。
- 第二次,我不想查詢下載的郵件,即使他們的讀/未讀狀態或任何標記或刪除標識被改變或者被清除。
- 我們的目標是下載和每一個消息在本地同步,一次且僅一次。
現在我對IMAP消息知之甚少,他們有一些名爲ID,UID和MessageID的東西。 ID可能是當前文件夾中的偏移量,UID是當前帳戶中的數字ID,而MessageID是唯一字符串。
現在我想知道,在查詢文件夾,這樣的消息被下載一次,不會被返回給我,我應該用什麼搜索。
我打算使用http://mailsystem.codeplex.com/庫,並給出了自定義字符串搜索能力,並返回int數組。
假設我有,一個MaxID,我想只下載具有ID或UID比MaxID更大的消息。我應該使用哪一個? UID或ID?
假設兩個文件夾,收件箱和垃圾郵件,與1000和100最大UID在他們的文件夾。現在,如果在兩個同步時間之間,如果在垃圾郵件中收到帶有UID 101的郵件,並且用戶將其移入收件箱,則UID會發生什麼變化?這個消息是否會獲得1001的新UID? –
IMAP不支持移動操作,而不是電子郵件都將被複制到目標文件夾以及從源文件夾中刪除。 UID是一個文件夾中是唯一的,並且當電子郵件被附加或複製到文件夾,電子郵件獲得一個UID比這個文件夾中使用的所有以前的UID更大。 – nosid
另外我發現有關搜索既然,最好每天同步?我想盡量減少服務器行程,爲什麼我需要關心UIDVALIDITY? –