Uids MailKit中的Not的SearchQuery

时间:2018-07-16 05:42:49

标签: c# mailkit mimekit

我想根据未记录在数据库中的Uid来阅读电子邮件。如何给SearchQuery仅查找那些未保存在数据库中的Uid。在下面的代码中,我不想读取6504 uid,因为它存在于数据库中。

var range = new UniqueIdRange(new UniqueId((uint)6504), UniqueId.MaxValue);
foreach (var uid in inbox.Search(!range, SearchQuery.All))
{
    var message = inbox.GetMessage(uid);
}

请帮忙吗?

1 个答案:

答案 0 :(得分:0)

您需要使用SearchQuery.Not()表达式:

var knownUids = new UniqueIdSet ();

knownUids.Add (new UniqueId ((uint) 6504));

foreach (var uid in inbox.Search (SearchQuery.Not (SearchQuery.Uids (knownUids))) {
    var message = inbox.GetMessage (uid);
}