用gmail同步标签的逻辑

时间:2011-08-28 05:51:05

标签: gmail imap

我想在我的imap应用程序中同步gmail标签。 我正在使用All Mails同步gmail。 在imap中同步一条消息后,如果用户更改了IMAP的标签。 它不会自动作为更新消息。 我正在寻找同步gmail标签的最佳选择。

我的想法是

  • 基于同步文件夹。
  • 检查gmail中从开始到当前阶段的每封邮件的标签。

但我认为这两个不是好选择。 什么是同步gmail标签的最佳选择?

2 个答案:

答案 0 :(得分:0)

对我来说效果最佳:

  1. 仅读取“所有邮件”中的邮件
  2. 对于需要更新其标签的每封邮件,请在所有IMAP文件夹中搜索其Gmail-Message-ID(或Thread-ID)。您也可以一次为多条消息执行此操作。
  3. 在文件夹中找到邮件时,请使用文件夹名称对其进行标记。

答案 1 :(得分:0)

首先:仅使用“All Mail”文件夹。 第二:可以同时获取许多消息的Gmail标签:

UID FETCH 1,2,3 (UID X-GM-LABELS)

如果您使用的是.NET,则可以使用此库(我创建的商业组件): http://www.limilabs.com/blog/get-gmail-labels-for-specified-messages

它应该非常快,然后是比较列表和使用+ X-GM-LABELS添加或-X-GM-LABELS来删除标签。