2016-09-29 76 views
0

When I mark the message in this way我怎樣才能獲得被舉報郵件交換

我使用的方法

 
var uids= folder.Search(SearchQuery.DeliveredAfter(DateTime.Parse("2016-9-29")).And(SearchQuery.Flagged)); 

不能得到標記郵件, 但是當我使用方法

folder.AddFlags(new UniqueId(1693), MessageFlags.Flagged, false); 
folder.Expunge();
的郵件將被標記,當我使用方法

var uids= folder.Search(SearchQuery.DeliveredAfter(DateTime.Parse("2016-9-29")).And(SearchQuery.Flagged));

我可以得到標記的郵件,我不知道爲什麼,我怎樣才能得到標記的郵件?

回答

0

您正在混淆2種不同的「標記」消息的方式。 Outlook不會設置MessageFlags.Flagged標誌,這就是爲什麼Search()找不到它。

最有可能的Outlook根本不在IMAP服務器上存儲任何內容(並且該狀態本地存儲在.pst文件中) - 或者它將在IMAP服務器上存儲自定義UserFlags字符串,您需要將其出。

如果您知道IMAP服務器上具有此自定義標誌的特定消息,則可以使用Fetch()方法和MessageSummaryItems.Flags來請求設置了哪些標誌。然後,你可以檢查item.UserFlags,並希望你找到你正在尋找的東西。

+0

謝謝你的幫助!我很抱歉回覆晚了,我在MessageHeader [「X-Message-Flag」]中找到Flaged Message – user6777454