Working with Folders on WebDav
Contents
[
Hide
]
Listing all Folders from Server
Aspose.Email API provides the capability to connect to the Exchange Server and list all the folders and sub-folders. You can also retrieve all the sub-folders from each folder recursively. This article shows how to retrieve all the sub-folders from the Exchange server and retrieve folders with pagination.
Using WebDav
The following code snippet shows you how to List folders from Exchange Server.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
public static void Run() | |
{ | |
try | |
{ | |
ExchangeClient client = new ExchangeClient("http://ex07sp1/exchange/Administrator", "user", "pwd", "domain"); | |
Console.WriteLine("Downloading all messages from Inbox...."); | |
ExchangeMailboxInfo mailboxInfo = client.GetMailboxInfo(); | |
Console.WriteLine("Mailbox URI: " + mailboxInfo.MailboxUri); | |
string rootUri = client.GetMailboxInfo().RootUri; | |
// List all the folders from Exchange server | |
ExchangeFolderInfoCollection folderInfoCollection = client.ListSubFolders(rootUri); | |
foreach (ExchangeFolderInfo folderInfo in folderInfoCollection) | |
{ | |
// Call the recursive method to read messages and get sub-folders | |
ListSubFolders(client, folderInfo); | |
} | |
Console.WriteLine("All messages downloaded."); | |
} | |
catch (Exception ex) | |
{ | |
Console.WriteLine(ex.Message); | |
} | |
} | |
private static void ListSubFolders(ExchangeClient client, ExchangeFolderInfo folderInfo) | |
{ | |
Console.WriteLine(folderInfo.DisplayName); | |
try | |
{ | |
// If this folder has sub-folders, call this method recursively to get messages | |
ExchangeFolderInfoCollection folderInfoCollection = client.ListSubFolders(folderInfo.Uri); | |
foreach (ExchangeFolderInfo subfolderInfo in folderInfoCollection) | |
{ | |
ListSubFolders(client, subfolderInfo); | |
} | |
} | |
catch (Exception) | |
{ | |
} | |
} |