如何使用mailkit搜索基于多个条件的imap收件箱
本文关键字:条件 imap 收件箱 于多个 何使用 mailkit 搜索 | 更新日期: 2023-09-27 18:08:46
我想搜索imap收件箱与mailkit基于多个条件,如NotSeen &NotDeleted。我知道查询是可接受的,如果我们做单独的搜索查询。
var uids = client.Inbox.Search(SearchQuery.NotSeen);
var uids = client.Inbox.Search(SearchQuery.NotDeleted );
但是我需要把这两个查询放在一起&根据条件获取所有id。
您可以使用And()和/或or()组合搜索查询:
var uids = client.Inbox.Search (SearchQuery.NotSeen.And (SearchQuery.NotDeleted));
或
var uids = client.Inbox.Search (SearchQuery.And (SearchQuery.NotSeen, SearchQuery.NotDeleted));
这个代码片段在主查询已经设置
之后添加了一个条件搜索条件var query = MailKit.Search.SearchQuery.FromContains("anyone@gmail.com")
.And(MailKit.Search.SearchQuery.SubjectContains("Your Subject"));
query = query .And(MailKit.Search.SearchQuery.DeliveredAfter(DateTime.Parse("2020-02-28")));
好的,我找到了一个管理它的方法。如果你有更好的办法,请告诉我。
var unread = client.Inbox.Search(SearchQuery.NotSeen);
var Deleted = client.Inbox.Search(SearchQuery.Deleted);
var Res = unread.Except(Deleted).ToList();