带有MailCore2的IMAP文件夹

时间:2014-12-09 17:08:56

标签: imap mailcore2

我正在使用MCOIMAPFetchFoldersOperation下载我的文件夹,它为我提供了所有文件夹的精彩列表:

  • INBOX
  • [Gmail]
  • [Gmail]/All Mail
  • [Gmail]/Drafts
  • [Gmail]/Important
  • [Gmail]/Sent Mail
  • [Gmail]/Starred
  • [Gmail]/Trash

当我为我的文件夹提取消息时,我得到了很多重复,因为INBOX[Gmail]/All Mail[Gmail]/Important等人可能存在相同的消息。同时。我检查了带有UID消息的dupes,但是UID在特定文件夹中只是唯一的,因此在这种情况下没用。

最兼容的方法是什么?

1 个答案:

答案 0 :(得分:2)

Gmail IMAP extensions所述,您可以获取邮件的X-GM-MSGID属性。此值在文件夹中是唯一的。

您可以获取所有新邮件的X-GM-MSGID值,检查已下载的邮件,然后下载丢失的邮件。

这是在IMAP中获取消息ID的内容;不确定如何在Mailcore2中做到这一点。

a006 FETCH 1 (X-GM-MSGID)
* 1 FETCH (X-GM-MSGID 1278455344230334865)
a006 OK FETCH (Success)

这是Gmail特有的。您可以通过在X-GM-EXT-1响应中查找CAPABILITY来检查服务器是否支持该服务器。据我所知,没有标准的方法可以做到这一点; IMAP RFC没有在多个邮箱中存在相同消息的概念。