2013-10-08 78 views
0

看看Mailcore文檔,我看到一種方法通過使用電子郵件UID執行提取來檢索電子郵件的序列號。但是,在查看Mailcore2文檔時,我沒有看到任何方式來完成此操作。 Mailcore2中是否有這種方法可以讓我不知道該怎麼做,或者讓這些信息冒出來呢?我知道它可以在命令行中,但我希望能夠從iOS應用程序中訪問它。從UID郵件獲取郵件序號郵件獲取MailCore2

編輯:

這是爲什麼我要尋找此功能:

我們有一個原生的iOS客戶端一次獲取的最新10個電子郵件和保存它們。此外,客戶端將一次獲取接下來的10封較舊的電子郵件,並保存它們以及所見最低的UID(minUID)。

因此,我們需要能夠不斷地獲取客戶端尚未存儲或查看的服務器上存在的下10個較舊的電子郵件。 (這是挑戰)。

最初,我們通過UID以10個組爲單位獲取電子郵件,使用我們保存的minUID減1作爲每次獲取的起始點,並在每次獲取結束時更新我們的minUID。但是,由於UID不一定是連續的,因此返回的電子郵件數量不一致,有時爲零。爲了解決這個問題,我們認爲這將有助於(在每次獲取未來10封舊郵件之前),使用我們存儲的minUID獲取電子郵件,檢查其當前序列號,然後根據該序列獲取接下來的10封較舊的電子郵件數。

回答

0

該文檔並不完全是查找示例的最佳位置,但our wiki正日益成爲該類信息的優秀存儲庫。你要找的是-[MCOIMAPSession fetchMessagesByUIDOperationWithFolder:requestKind:uids:],其中的一個例子可以在IMAP examples wiki page下找到。

+0

感謝您的回覆。我已經編輯了我的問題以澄清我正在嘗試解決的問題。通過UID獲取並不覺得它解決了問題。 – jac300

+0

然後你可能想'fetchMessagesByNumberOperationWithFolder:requestKind:numbers:' – CodaFi

1

要提取基於序列號的消息,則可以使用下面的例子下面的函數syncMessagesWithFolder:folderName:requestKind:uids:modSeq:

的將獲取您上述序列號highestModSeqfolder所有新的/修改的消息。

MCOIMAPFetchMessagesOperation * op = [self.imapSession syncMessagesWithFolder:folderName 
                    requestKind:requestKind 
                     uids:[MCOIndexSet indexSetWithRange:MCORangeMake(1, UINT64_MAX)] 
                     modSeq:highestModSeq];