Trabajando con Carpetas en WebDav
Contents
[
Hide
]
Listando todas las Carpetas del Servidor
Aspose.Email API proporciona la capacidad de conectarse al Servidor de Exchange y listar todas las carpetas y subcarpetas. También puedes recuperar todas las subcarpetas de cada carpeta de forma recursiva. Este artículo muestra cómo recuperar todas las subcarpetas del servidor de Exchange y recuperar carpetas con paginación.
Usando WebDav
El siguiente fragmento de código te muestra cómo listar carpetas del Servidor de Exchange.
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) | |
{ | |
} | |
} |