簡體   English   中英

如何根據多個條件使用mailkit搜索imap收件箱?

[英]How to search imap inbox with mailkit based on multiple condition?

我想根據多個條件(如 NotSeen 和 NotDeleted)使用 mailkit 搜索 imap 收件箱。 我知道查詢是容易接受的,如果我們進行單獨的搜索查詢。

var uids = client.Inbox.Search(SearchQuery.NotSeen); 
var uids = client.Inbox.Search(SearchQuery.NotDeleted );   

但我需要將這兩個查詢放在一起並根據條件獲取所有 Uid。 任何幫助將不勝感激。

您可以使用 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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM