【发布时间】:2013-01-18 18:04:15
【问题描述】:
我正在开发一个应用程序,其中本地 Core Data 数据库与用户的 IMAP 电子邮件帐户保持同步。我正在使用 MailCore (http://libmailcore.com) 来处理所有 IMAP API 调用,但似乎有一些缺点。以下是我希望我的应用能够执行的操作:
- 在服务器上拥有最近 50 封电子邮件的本地副本
- 下载自上次提取以来用户收到的所有新电子邮件,设备上最多保留 50 封。
- 删除服务器上已删除的本地邮件。
MailCore 提供的用于检索电子邮件的唯一方法如下:
- (NSArray *)messagesFromSequenceNumber:(NSUInteger)startNum to:(NSUInteger)endNum withFetchAttributes:(CTFetchAttributes)attrs
- (NSArray *)messagesFromUID:(NSUInteger)startUID to:(NSUInteger)endUID withFetchAttributes:(CTFetchAttributes)attrs
现在,我正在从服务器检索最新的电子邮件并下载有关它们的所有信息,然后我从服务器检索最新的 50 个 UID,并将它们与我的本地缓存进行比较,以查看已删除的内容。这似乎非常低效。有没有更好的方法来同步收件箱而无需两次往返服务器(至少)?
【问题讨论】:
-
我们也在使用 mailcore,由于它的文档很差,我们甚至无法找到简单的任务,比如获取电子邮件的所有标题。愿你帮助我们
标签: ios email ios6 imap mailcore