Folder.Bind 允许你绑定你想要的文件夹。如果您有权限,您甚至可以绑定到其他用户的文件夹。或者恢复 FolderID 后的任何文件夹(您可以将其用作参数)
例如,如果我是 Exchange 管理员,我想获取 smtp 地址为“john.snow@mail.com”的用户的根文件夹,我会这样绑定到该文件夹:
Folder FolderBind =
Folder.Bind(service, new FolderId
(WellKnownFolderName.MsgFolderRoot, "john.snow@mail.com));
一旦你用你想要的任何文件夹加载了 FolderBind,你就可以使用其他方法,因为它接收到你可能不知道的 Folder.ID 参数。但是感谢 Folder.Bind,您拥有“john.snow@mail.com”的MsgFolderRoot 的 FolderID,因此您可以使用以下命令在他的项目中执行搜索:
FindItemsResults<Item> findResults = service.FindItems(FolderBind.Id, searchFilter, view);
我不知道我是否说清楚了。我有更多的疑问就问吧。
编辑:
您可以为 FindItems 提供一个精制的 searchFilter,它允许您获取项目
满足一些要求。就像搜索带有附件的电子邮件一样。搜索电子邮件
早于某个日期。等。
这里是一个例子:
List<SearchFilter> searchORFilterCollection = new List<SearchFilter>();
searchORFilterCollection.Add( new SearchFilter.IsEqualTo(EmailMessageSchema.HasAttachments, true));
searchORFilterCollection.Add(new SearchFilter.IsLessThan(EmailMessageSchema.DateTimeReceived,DateTime.Now.AddMonths(-3)));
SearchFilter searchFilter= new SearchFilter.SearchFilterCollection(LogicalOperator.And,searchORFilterCollection.ToArray());