Enumerar, administrar y respaldar carpetas de Exchange Server usando EWS

Listar todas las carpetas del servidor

La API Aspose.Email brinda la capacidad de conectarse al Exchange Server y listar todas las carpetas y subcarpetas. También puede recuperar todas las subcarpetas de cada carpeta de forma recursiva. Además, ofrece la capacidad de enumerar carpetas con paginación desde el cliente Exchange usando Exchange Web Service (EWS). Este artículo muestra cómo recuperar todas las subcarpetas del servidor Exchange y obtener carpetas con paginación.

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

Recuperar información del tipo de carpeta

El FolderType propiedad proporcionada por ExchangeFolderInfo la clase puede usarse para obtener información sobre el tipo de la carpeta. Se muestra en el ejemplo de código a continuación.

Enumerar carpetas con soporte de paginación

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

Acceder a carpetas/subcarpetas personalizadas

IEWSClient permite a los desarrolladores acceder a cualquier carpeta o subcarpeta personalizada del buzón. El FolderExists() función de IEWSClient devuelve el URI de una carpeta/subcarpeta personalizada especificada, que luego puede usarse 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, siga los siguientes pasos:

  1. Inicialice el IEWSClient objeto proporcionando credenciales válidas.
  2. Acceda al buzón predeterminado.
  3. Acceda a la carpeta padre, que es INBOX en este ejemplo. Esta carpeta padre también puede ser una carpeta personalizada.
  4. Usar FolderExists() para buscar la subcarpeta personalizada especificada, por ejemplo "TestInbox". Devolverá el URI de "TestInbox".
  5. Utilice este URI para acceder a todos los mensajes en esa carpeta personalizada.

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

Listar 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, usa Aspose.Email EWSClient clase para conectarse 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 enumerar y descargar cualquier mensaje encontrado en estas carpetas. Este ejemplo solo funciona con Microsoft Exchange Server 2007 o superior, ya que solo estas versiones admiten EWS.

Copiar mensajes a otra carpeta

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

Sincronizar elementos de carpeta

Aspose.Email for .NET API IEWSClient la interfaz proporciona la funcionalidad de sincronizar una carpeta de Exchange con su contenido. La SyncFolder método expuesto por el IEWSClient La clase puede usarse para realizar la sincronización de información de carpetas en una carpeta especificada. El siguiente fragmento de código muestra cómo sincronizar la información de la carpeta Exchange.

Recuperar permisos de carpeta

A los usuarios se les asignan permisos a las carpetas públicas en Exchange Server, lo que limita/determina el nivel de acceso que un usuario tiene a estas carpetas. El ExchangeFolderPermission clase que proporciona un conjunto de propiedades de permiso para carpetas Exchange, como el PermissionLevel, si pueden CanCreateItems, DeleteItems, y realizar otras tareas según lo especificado por las propiedades de permiso. Los permisos pueden recuperarse usando el GetFolderPermissions() método 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. Inicialice el EWSClient.
  2. Utilice el ListPublicFolders para obtener una lista de todas las carpetas públicas
  3. Recupera los permisos asociados a una carpeta usando el GetFolderPermisssions() método

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

Crear y administrar carpetas/subcarpetas

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

  1. Cree una instancia de IEWSClient.
  2. Establezca el UseSlashAsFolderSeparator propiedad 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. Utilice el CreateFolder método para crear la carpeta.

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

Respaldar carpetas a PST

A menudo ocurre que los usuarios quieran hacer una copia de seguridad de todas o de algunas carpetas del buzón. Aspose.Email proporciona la capacidad de respaldar todas o carpetas específicas del buzón Exchange a un PST. Este artículo describe cómo respaldar carpetas de Exchange a un PST con código de ejemplo. Para respaldar las carpetas del servidor Exchange, se pueden seguir los siguientes pasos.

  1. Iniciar el IEWSClient con credenciales de usuario
  2. Agregar la información requerida de la carpeta a ExchangeFolderInfoCollection
  3. Usar el cliente Copia de seguridad método para exportar el contenido de la carpeta a PST

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