Crear y eliminar carpetas en MS Exchange Server en C#

En Microsoft Exchange Server, los correos electrónicos se organizan en diferentes carpetas, como bandeja de entrada, bandeja de salida, etc. Además, puede crear sus propias carpetas o subcarpetas según sus necesidades. Mientras trabaja con MS Exchange Server, es posible que deba crear carpetas personalizadas mediante programación. En este artículo, aprenderá a crear carpetas o subcarpetas con EWS en MS Exchange Server en C# .NET. Además, cubriremos cómo eliminar una carpeta en Exchange Server.

C# .NET API para crear carpetas en MS Exchange Server

Para administrar carpetas con EWS en MS Exchange Server, utilizaremos Aspose.Email for .NET. La API facilita bastante el trabajo con los servicios de Exchange Server desde las aplicaciones .NET. Puede descargar la DLL de la API o instalarla desde NuGet con el siguiente comando.

PM> Install-Package Aspose.Email

Crear una carpeta en MS Exchange Server en C#

Los siguientes son los pasos para crear una carpeta en MS Exchange Server en C#.

El siguiente ejemplo de código muestra cómo crear una carpeta en MS Exchange Server con EWS en C#.

// Cree una instancia de la clase EWSClient proporcionando credenciales
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Obtener URI de la bandeja de entrada (para crear una carpeta en la bandeja de entrada)
string inbox = client.MailboxInfo.InboxUri;

// Especifique el nombre de la carpeta
string folderName1 = "EMAILNET-35054";

try
{
    // Crear carpeta
    client.UseSlashAsFolderSeparator = true;
    client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
    // Hacer algo
}

Crear una subcarpeta en MS Exchange Server en C#

Para crear una subcarpeta, primero debe verificar si la carpeta principal existe o no. Si es así, simplemente cree la subcarpeta; de lo contrario, cree primero la carpeta principal. Los siguientes pasos demuestran cómo crear una subcarpeta en MS Exchange Server en C#.

El siguiente ejemplo de código muestra cómo crear una subcarpeta en MS Exchange Server en C#.

// Cree una instancia de la clase EWSClient proporcionando credenciales
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Obtener URI de la bandeja de entrada
string inbox = client.MailboxInfo.InboxUri;

// Especifique el nombre de la carpeta
string folderName1 = "EMAILNET-35054";

// Especifique el nombre de la subcarpeta
string subFolderName = "2015";
string folderName2 = folderName1 + "/" + subFolderName;

ExchangeFolderInfo rootFolderInfo = null; 

try
{
    client.UseSlashAsFolderSeparator = true;
    if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // Crear carpeta
        rootFolderInfo = client.CreateFolder(inbox, folderName1);
    }

    // Crear sub-carpeta
    client.CreateFolder(inbox, folderName2);
}
catch
{
    // Hacer algo
}

Eliminar una carpeta en MS Exchange Server en C#

Los siguientes son los pasos para eliminar una carpeta en MS Exchange Server en C#.

El siguiente ejemplo de código muestra cómo eliminar una carpeta en MS Exchange Server en C#.

// Cree una instancia de la clase EWSClient proporcionando credenciales
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Obtener URI de la bandeja de entrada
string inbox = client.MailboxInfo.InboxUri;

// Especifique el nombre de la carpeta
string folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{
    // Comprobar si existe la carpeta
    if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // Eliminar carpeta
        client.DeleteFolder(rootFolderInfo.Uri, true);
    }
}
catch
{
    // Hacer algo
}

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal gratuita para usar Aspose.Email for .NET sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a trabajar con carpetas en Microsoft Exchange Server con EWS en C#. Con la ayuda de ejemplos de código, ha visto cómo crear y eliminar una carpeta particular en MS Exchange Server mediante programación en C#. Además, puede explorar la documentación para leer más sobre Aspose.Email for .NET. Además, puede hacer sus preguntas a través de nuestro foro.

Ver también