2016-09-29 28 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