Trabajando con Carpetas en Exchange Server

Listado de todas las Carpetas del Servidor

Aspose.Email API 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 manera recursiva. También ofrece 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 del servidor Exchange y recuperar carpetas con paginación.

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

Obtener Información del Tipo de Carpeta usando EWS

La propiedad FolderType proporcionada por la clase ExchangeFolderInfo puede ser utilizada para obtener información sobre el tipo de carpeta. 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 utilizando EWS.

Accediendo a Carpetas o Subcarpetas Personalizadas del Buzón

IEWSClient permite a los desarrolladores acceder a cualquier carpeta o subcarpeta personalizada del buzón. La función FolderExists() de IEWSClient devuelve el URI de una carpeta/subcarpeta personalizada especificada, que se puede usar para acceder a la carpeta de destino. En el siguiente ejemplo, se accede a una carpeta personalizada llamada “TestInbox”, que se crea bajo INBOX, y se muestran todos los mensajes de esta carpeta personalizada. Para realizar esta tarea, sigue 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 es INBOX en este ejemplo. Esta carpeta principal también puede ser una carpeta personalizada.
  4. Usa FolderExists() para buscar la subcarpeta personalizada especificada, por ejemplo “TestInbox”. Esto devolverá el URI de “TestInbox”.
  5. Usa este URI para acceder a todos los mensajes en esa carpeta personalizada.

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

Listado de Carpetas Públicas

Microsoft Exchange Server permite a los usuarios crear carpetas públicas y publicar mensajes en ellas. Para hacerlo a través de tu aplicación, utiliza la clase Aspose.Email 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 públicas y subcarpetas, 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 soportan EWS.

Copiar un Mensaje a Otra Carpeta

Aspose.Email API permite copiar un mensaje de una carpeta a otra carpeta utilizando el método CopyItem. La versión sobrecargada de este método devuelve el URI Único del mensaje copiado como se muestra en este artículo.

Sincronizando Elementos de Carpeta

Aspose.Email para .NET API IEWSClient interface proporciona la funcionalidad de sincronizar una carpeta de Exchange por su contenido. El método SyncFolder expuesto por la clase IEWSClient puede ser utilizado para realizar la sincronización de información de 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

A los usuarios se les asignan permisos a 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 permisos para carpetas de Exchange tales como el PermissionLevel, si pueden CanCreateItems, DeleteItems, y realizar otras tareas según lo especificado por las propiedades de permiso. Los permisos pueden ser recuperados utilizando 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 EWSClient.
  2. Usa el ListPublicFolders para obtener una lista de todas las carpetas públicas.
  3. Recupera los permisos asociados con una carpeta utilizando el método GetFolderPermisssions().

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

Creando Carpetas y Subcarpetas

Aspose.Email API proporciona la capacidad de crear carpetas en un buzón de Exchange. El método CreateFolder de IEWSClient puede ser utilizado 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 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. Usa el método CreateFolder para crear la carpeta.

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

Respaldar 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. Este artículo describe cómo hacer una copia de seguridad de carpetas de Exchange a un PST con código de muestra. Para hacer la copia de seguridad de las carpetas del servidor Exchange, se pueden seguir los siguientes pasos.

  1. Inicia el IEWSClient con las credenciales del usuario.
  2. Agrega la información de la carpeta requerida a ExchangeFolderInfoCollection.
  3. Usa el método Backup del cliente para exportar el contenido de la carpeta a PST.

El siguiente fragmento de código muestra cómo respaldar carpetas de Exchange a PST.