Trabajando con Carpetas en Exchange Server

Listando todas las Carpetas desde el Servidor

La API Aspose.Email proporciona la capacidad de conectarse al Exchange Server y listar todas las carpetas y subcarpetas. También puedes recuperar todas las subcarpetas de cada carpeta de forma recursiva. También proporciona la capacidad de enumerar carpetas con paginación desde el cliente de Exchange utilizando Exchange Web Service (EWS). Este artículo muestra cómo recuperar todas las subcarpetas desde el servidor de Exchange y recuperar carpetas con paginación.

El siguiente fragmento de código muestra cómo listar carpetas desde Exchange Server.

Obtener Información del Tipo de Carpeta usando EWS

El enumerador ExchangeFolderType proporcionado por la clase ExchangeFolderInfo se puede utilizar para obtener información sobre el tipo de carpeta. Esto se muestra en el siguiente ejemplo de código.

Enumerando Carpetas con Soporte de Paginación usando EWS

El siguiente fragmento de código muestra cómo usar el soporte de paginación con EWS.

Accediendo a Carpetas Personalizadas o Subcarpetas del Buzón

IEWSClient permite a los desarrolladores acceder a cualquier carpeta personalizada o subcarpeta del buzón. El método FolderExists() de IEWSClient devuelve la URI de una carpeta/subcarpeta personalizada especificada, que puede usarse para acceder a la carpeta objetivo. En el siguiente ejemplo, se accede a una carpeta personalizada llamada “TestInbox”, que se creó bajo INBOX, y se muestran todos los mensajes de esta carpeta personalizada. Para realizar esta tarea, se llevan a cabo los siguientes pasos:

  1. Inicializa el objeto IEWSClient proporcionando credenciales válidas.
  2. Accede al buzón predeterminado.
  3. Accede a la carpeta principal, que en este ejemplo es INBOX. Esta carpeta principal también puede ser una carpeta personalizada.
  4. Utiliza el método FolderExists() para buscar la subcarpeta personalizada especificada, por ejemplo, “TestInbox”. Esto devolverá la URI de “TestInbox”.
  5. Utiliza esta URI para acceder a todos los mensajes en esa carpeta personalizada.

El siguiente fragmento de código muestra cómo acceder a carpetas personalizadas o subcarpetas del buzón con EWS.

Listando Carpetas Públicas

Microsoft Exchange Server permite a los usuarios crear carpetas públicas y publicar mensajes en ellas. Para hacer esto a través de tu aplicación, utiliza la clase EWSClient para conectarte al Exchange Server y leer y descargar mensajes y publicaciones de carpetas públicas. El siguiente fragmento de código muestra cómo leer todas las carpetas y subcarpetas públicas, y listar y descargar cualquier mensaje encontrado en estas carpetas. Este ejemplo solo funciona con Microsoft Exchange Server 2007 o superior, ya que solo estos son compatibles con EWS.

Sincronizando Elementos de Carpeta

La API Aspose.Email de IEWSClient proporciona la característica de sincronizar una carpeta de Exchange para su contenido. El método SyncFolder expuesto por la clase IEWSClient se puede utilizar para sincronizar la información de la carpeta en una carpeta especificada. El siguiente fragmento de código muestra cómo sincronizar la información de la carpeta de Exchange.

Recuperando Permisos para Carpetas de Exchange

Se asignan permisos a los usuarios para las carpetas públicas en Exchange Server, lo que limita/determina el nivel de acceso que un usuario tiene a estas carpetas. La clase ExchangeFolderPermission proporciona un conjunto de propiedades de permiso para las carpetas de Exchange, como el nivel de permiso, si pueden crear elementos, eliminar elementos, y realizar otras tareas según lo especificado por las propiedades de permiso. Los permisos se pueden recuperar usando el método GetFolderPermissions() de IEWSClient. Este artículo muestra cómo recuperar los permisos aplicados a una carpeta pública para todos los usuarios que tienen acceso a las carpetas compartidas.

Para realizar esta tarea:

  1. Inicializa el IEWSClient.
  2. Usa el ListPublicFolders para obtener una lista de todas las carpetas públicas.
  3. Recupera los permisos asociados con una carpeta usando el método GetFolderPermissions().

El siguiente fragmento de código muestra cómo usar la clase IEWSClient para recuperar los permisos aplicados a una carpeta.

Creando Carpetas y Subcarpetas

La API Aspose.Email proporciona la capacidad de crear carpetas en un buzón de Exchange. El método CreateFolder de IEWSClient se puede utilizar para este propósito. Para crear una carpeta en el buzón del servidor Exchange, se pueden seguir los siguientes pasos.

  1. Crea una instancia de IEWSClient.
  2. Establece la propiedad set_UseSlashAsFolderSeparator según sea necesario. Si se establece en true, la aplicación considerará la “Barra” como separador de carpetas y la subcarpeta se creará después de la barra.
  3. Utiliza el método CreateFolder para crear la carpeta.

El siguiente fragmento de código muestra cómo crear carpetas y subcarpetas.

Respaldo de Carpetas de Exchange a PST

A menudo sucede que los usuarios pueden querer hacer una copia de seguridad de todas o algunas de las carpetas del buzón. Aspose.Email proporciona la capacidad de hacer una copia de seguridad de todas o de las carpetas de buzón de Exchange especificadas a un PST. Para hacer una copia de seguridad de las carpetas del servidor Exchange, se pueden seguir los siguientes pasos.

  1. Crea una instancia de IEWSClient.
  2. Agrega la información de las carpetas requeridas a ExchangeFolderInfoCollection.
  3. Utiliza el método IEWSClient->Backup para exportar el contenido de las carpetas a PST.

El siguiente fragmento de código muestra cómo hacer una copia de seguridad de las carpetas de Exchange a PST.