Enregistrer les messages de la boîte aux lettres Exchange Server via WebDav

Cet article montre comment récupérer les messages d’une boîte aux lettres Exchange Server et les enregistrer sur le disque aux formats EML et MSG.

Enregistrer les messages d’une boîte aux lettres Exchange Server au format EML

Pour obtenir les messages et les enregistrer au format EML :

  1. Créez une instance de la ExchangeClient classe.
  2. Fournissez le nom du serveur, le nom d’utilisateur, le mot de passe et le domaine.
  3. Appelez le ExchangeClient.listMessages() méthode pour obtenir une instance du ExchangeMessagesInfoCollection collection.
  4. Parcourez le ExchangeMessagesInfoCollection collection pour obtenir l’URI unique de chaque message.
  5. Appelez le ExchangeClient.saveMessage() méthode et transmettez l’URI unique comme paramètre.
  6. Fournissez un saveMessage() méthode avec un chemin vers l’endroit où vous souhaitez enregistrer le fichier.  

Enregistrer les messages dans un OutputStream

Au lieu d’enregistrer les fichiers EML sur le disque, il est possible de les enregistrer dans un OutputStream. Cela est utile lorsque vous souhaitez enregistrer le flux dans un emplacement de stockage tel qu’une base de données. Une fois le flux enregistré dans une base de données, vous pouvez recharger le fichier EML dans le MailMessage classe.

Les fragments de code ci‑dessus enregistrent les messages d’une boîte aux lettres Exchange Server dans un flux mémoire.

Enregistrer les messages au format MSG

Le ExchangeClient.saveMessage() méthode peut enregistrer directement le message au format EML. Pour enregistrer les messages au format MSG, appelez d’abord la ExchangeClient.fetchMessage() méthode qui renvoie une instance de MailMessage classe. Puis appelez le MailMessage.save() méthode pour enregistrer le message au format MSG.

Le fragment de code ci‑dessous récupère les messages d’une boîte aux lettres Exchange Server et les enregistre au format MSG.