private static void ListMessagesFromSubFolder(ExchangeFolderInfo publicFolder, IEWSClient client) { Console.WriteLine("Folder Name: " + publicFolder.DisplayName); ExchangeMessageInfoCollection msgInfoCollection = client.ListMessagesFromPublicFolder(publicFolder); foreach (ExchangeMessageInfo messageInfo in msgInfoCollection) { MailMessage msg = client.FetchMessage(messageInfo.UniqueUri); Console.WriteLine(msg.Subject); msg.Save(dataDir + msg.Subject + ".msg", SaveOptions.DefaultMsgUnicode); } // Call this method recursively for any subfolders if (publicFolder.ChildFolderCount > 0) { ExchangeFolderInfoCollection subfolders = client.ListSubFolders(publicFolder); foreach (ExchangeFolderInfo subfolder in subfolders) { ListMessagesFromSubFolder(subfolder, client); } } }
private static void ListMessagesFromSubFolder(ExchangeFolderInfo publicFolder, IEWSClient client) { Console.WriteLine("Folder Name: " + publicFolder.DisplayName); ExchangeMessageInfoCollection msgInfoCollection = client.ListMessagesFromPublicFolder(publicFolder); foreach (ExchangeMessageInfo messageInfo in msgInfoCollection) { MailMessage msg = client.FetchMessage(messageInfo.UniqueUri); Console.WriteLine(msg.Subject); msg.Save(dataDir + msg.Subject + ".msg", SaveOptions.DefaultMsgUnicode); } // Call this method recursively for any subfolders if (publicFolder.ChildFolderCount > 0) { ExchangeFolderInfoCollection subfolders = client.ListSubFolders(publicFolder); foreach (ExchangeFolderInfo subfolder in subfolders) { ListMessagesFromSubFolder(subfolder, client); } } }