与gmail同步标签的逻辑

与gmail同步标签的逻辑,gmail,imap,Gmail,Imap,我想在imap应用程序中同步gmail标签。 我正在使用所有邮件同步gmail。 在imap中同步一条消息后,如果用户更改imap的标签。 它不会自动作为更新消息出现。 我正在寻找同步gmail标签的最佳选择 我想的是 或者基于文件夹同步 从开始到当前阶段,检查gmail中每条消息的标签 但我不认为这两个是好的选择。 同步gmail标签的最佳选项是什么?对我来说,以下选项效果最好: 仅读取“所有邮件”中的邮件 对于每个需要更新标签的邮件,请在所有IMAP文件夹中搜索其Gmail邮件ID(或线

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

我想的是

  • 或者基于文件夹同步
  • 从开始到当前阶段,检查gmail中每条消息的标签
但我不认为这两个是好的选择。
同步gmail标签的最佳选项是什么?

对我来说,以下选项效果最好:

  • 仅读取“所有邮件”中的邮件
  • 对于每个需要更新标签的邮件,请在所有IMAP文件夹中搜索其Gmail邮件ID(或线程ID)。您还可以一次对多封邮件执行此操作
  • 在文件夹中找到邮件时,请将其标记为文件夹名称
  • 第一:只使用“所有邮件”文件夹。 第二:可以一次获取多条邮件的Gmail标签:

    UID FETCH 1,2,3 (UID X-GM-LABELS)
    
    如果您使用的是.NET,则可以使用此库(我创建的商业组件):

    这应该是相当快的,然后是比较列表的问题,并使用+X-GM-LABELS添加或-X-GM-LABELS删除标签