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.
- .NET API para crear carpetas con EWS en MS Exchange Server
- Crear una carpeta en MS Exchange Server
- Crear una subcarpeta en MS Exchange Server
- Eliminar una carpeta en MS 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#.
- Conéctese a MS Exchange Server y obtenga el objeto de cliente EWS en IEWSClient.
- Especifique el nombre de la carpeta raíz y la carpeta que desea crear.
- Cree una carpeta usando el método IEWSClient.CreateFolder(string, string).
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#.
- Conéctese a MS Exchange Server y obtenga el objeto de cliente EWS en IEWSClient.
- Especifique el nombre de la carpeta raíz y la subcarpeta.
- Compruebe si la carpeta principal existe mediante el método IEWSClient.FolderExists(string, string, ExchangeFolderInfo). Si no, crea uno.
- Cree una subcarpeta usando el método IEWSClient.CreateFolder(string, string).
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#.
- Conéctese a MS Exchange Server y obtenga el objeto de cliente EWS en IEWSClient.
- Compruebe si la carpeta existe mediante el método IEWSClient.FolderExists(string, string, ExchangeFolderInfo).
- Elimine la carpeta usando el método IEWSClient.DeleteFolder(string, bool).
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.