0

查看 Mailcore 文档,我看到了一种通过使用电子邮件 UID 执行提取来检索电子邮件或电子邮件的序列号的方法。但是,在查看 Mailcore2 文档时,我看不到任何方法可以做到这一点。Mailcore2 中是否有一种我没有看到的方法,或者有一种方法可以让这些信息冒泡?我知道在命令行中是可能的,但我希望能够从我的 iOS 应用程序中访问它。

编辑:

这就是我寻找此功能的原因:

我们有一个原生 iOS 客户端,它一次获取 10 封最新的电子邮件并保存它们。此外,客户端将一次获取接下来的 10 封较旧的电子邮件并保存它们,以及它所见过的最低 UID (minUID)。

因此,我们需要能够持续获取服务器上存在的下 10 封客户端尚未存储或查看的旧电子邮件。(这就是挑战)。

最初,我们通过按 UID 以 10 组为一组来获取电子邮件,使用我们保存的 minUID 减 1 作为每次提取的起点,并在每次提取结束时更新我们的 minUID。但是,由于 UID 不一定是连续的,因此返回的电子邮件数量不一致,有时甚至为零。为了解决这个问题,我们认为(在每次获取接下来的 10 封较旧的电子邮件之前),使用我们存储的 minUID 获取电子邮件,检查其当前序列号,然后根据该序列获取接下来的 10 封较旧的电子邮件会很有帮助数字。

4

2 回答 2

1

要根据序列号获取消息,可以使用以下函数syncMessagesWithFolder:folderName:requestKind:uids:modSeq:

下面的示例将为您获取folder序列号上方文件夹的所有新/修改消息highestModSeq

MCOIMAPFetchMessagesOperation * op = [self.imapSession syncMessagesWithFolder:folderName
                                                                  requestKind:requestKind
                                                                         uids:[MCOIndexSet indexSetWithRange:MCORangeMake(1, UINT64_MAX)]
                                                                       modSeq:highestModSeq];
于 2015-05-01T10:34:35.537 回答
0

文档并不是查找示例的最佳位置,但我们的 wiki正日益成为此类信息的绝佳存储库。您正在寻找的是-[MCOIMAPSession fetchMessagesByUIDOperationWithFolder:requestKind:uids:],可以在IMAP 示例 wiki 页面下找到一个示例。

于 2013-10-09T03:28:01.027 回答