Guardar mensajes del buzón de Exchange Server mediante WebDAV

En este artículo se muestra cómo obtener mensajes de un buzón de Exchange Server y guardarlos en el disco en formatos EML y MSG.

Guardar mensajes de un buzón de Exchange Server en EML

Para obtener mensajes y guardarlos en formato EML:

  1. Crea una instancia del ExchangeClient class.
  2. Proporcione el nombre del servidor, el nombre de usuario, la contraseña y el dominio.
  3. Llame al ExchangeClient.listMessages() método para obtener una instancia del ExchangeMessagesInfoCollection collection.
  4. Recorre el ExchangeMessagesInfoCollection colección para obtener la URI única de cada mensaje.
  5. Llame al ExchangeClient.saveMessage() método y pase la URI única como parámetro.
  6. Proporcione un saveMessage() método con una ruta al lugar donde desea guardar el archivo.  

Guardar mensajes en un OutputStream

En lugar de guardar los archivos EML en el disco, es posible guardarlos en un OutputStream. Esto es útil cuando quieres guardar la transmisión en alguna ubicación de almacenamiento, como una base de datos. Una vez guardada la transmisión en una base de datos, puede volver a cargar el archivo EML en MailMessage class.

Los fragmentos de código que aparecen a continuación guardan los mensajes de un buzón de Exchange Server en un flujo de memoria.

Guardar mensajes en formato MSG

The ExchangeClient.saveMessage() El método puede guardar directamente el mensaje en formato EML. Para guardar los mensajes en formato MSG, primero llame al ExchangeClient.fetchMessage() método que devuelve una instancia del MailMessage clase. Entonces llama al MailMessage.save() método para guardar el mensaje en MSG.

El siguiente fragmento de código obtiene los mensajes de un buzón de Exchange Server y los guarda en formato MSG.