使用mailkit搜索(不是UID SEARCH)

时间:2017-06-27 18:04:52

标签: mailkit

是否可以使用mailkit使用SEARCH imap命令(不是UID SEARCH)?

因为那个我需要它

  https://tools.ietf.org/html/rfc3501#page-72
  An EXPUNGE response MUST NOT be sent when no command is in
  progress, nor while responding to a FETCH, STORE, or SEARCH
  command.  This rule is necessary to prevent a loss of
  synchronization of message sequence numbers between client and
  server. 

       Note: UID FETCH, UID STORE, and UID SEARCH are different
       commands from FETCH, STORE, and SEARCH.  An EXPUNGE
       response MAY be sent during a UID command.

您使用SEARCH(不是UID SEARCH)获得EXPUNGE或EXISTS,这在我将本地索引与服务器同步时非常重要。通过查看代码,所有搜索方法都会生成UID SEARCH。有没有办法只使用SEARCH?

更新:

我会尝试解释这个问题。为了正确处理EXPUNGE或EXISTS,本地索引需要与远程索引同步(因为这些命令适用于不带UID的索引)。因此,打开文件夹时需要做的第一件事通常是使本地索引与远程索引保持同步。之后,执行EXPUNGE或EXISTS无标记响应是安全的。这就是为什么在远程和本地索引同步的操作期间,关键是不要接收EXPUNGE或EXISTS,因为我当时无法正确处理它们(因为我的本地索引不能与远程匹配) 。我相信这就是为什么FETCH和SEARCH以这种方式实现的原因(不发出无标记的EXPUNGE或EXISTS)以允许你这样做。一旦我获得了最新的本地和远程索引,如果您使用UID SEARCH或SEARCH,这并不重要。

0 个答案:

没有答案