摘要
有时在操作exchange的时候,需要查找用户exchange文件夹,比如用户新建了一些文件夹。
一个例子
这里以查找用户outlook邮箱中的历史对话文件夹为例。
private const ExchangeVersion EXCHANGE_VERSION = ExchangeVersion.Exchange2010_SP2; private ExchangeService _service; public MyExchangeClient(UserInfo userInfo) { if (userInfo == null) { throw new ArgumentNullException("user is empty"); } this._userInfo = userInfo; this._service = new ExchangeService(EXCHANGE_VERSION); _service.Credentials = new NetworkCredential(userInfo.Itcode, userInfo.Pwd, _userInfo.Domain); _service.Url = new Uri(ConfigManager.ExchangeServerUrl); }
/// <summary> /// 查找对话历史文件夹 /// </summary> /// <returns></returns> private Folder FindImHistoryFolder() { int _pageSize = 10; FolderView folderView = new FolderView(_pageSize, 0); folderView.PropertySet = new PropertySet(BasePropertySet.IdOnly); folderView.PropertySet.Add(FolderSchema.DisplayName); folderView.PropertySet.Add(FolderSchema.ChildFolderCount); folderView.Traversal = FolderTraversal.Shallow; Folder imHistoryFolder = null; FindFoldersResults findFolderResults; bool foundImHistoryFolder = false; do { findFolderResults = this._service.FindFolders(WellKnownFolderName.MsgFolderRoot, folderView); foreach (Folder folder in findFolderResults) { if (folder.DisplayName.ToLower() == "conversation history" || folder.DisplayName.ToLower() == "对话历史记录") { imHistoryFolder = folder; foundImHistoryFolder = true; } } folderView.Offset += _pageSize; } while (findFolderResults.MoreAvailable && !foundImHistoryFolder); return imHistoryFolder; }
时间: 2024-11-03 09:57:31