Aspose.Email.Examples.CSharp.Email.Exchange.DownloadMessagesFromPublicFolders.ListMessagesFromSubFolder C# (CSharp) Method

ListMessagesFromSubFolder() private static method

private static ListMessagesFromSubFolder ( ExchangeFolderInfo publicFolder, IEWSClient client ) : void
publicFolder ExchangeFolderInfo
client IEWSClient
return void
        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);
                }
            }
        }
        // ExEnd:DownloadMessagesFromPublicFolders