Salvar Mensagens da Caixa de Correio do Exchange Server usando WebDav

Este artigo mostra como obter mensagens de uma caixa de correio do Exchange Server e salvá-las no disco nos formatos EML e MSG.

Salvar Mensagens de uma Caixa de Correio do Exchange Server em EML

Para obter mensagens e salvar no formato EML:

  1. Crie uma instância da classe ExchangeClient.
  2. Forneça o nome do servidor, nome de usuário, senha e domínio.
  3. Chame o método ExchangeClient.listMessages() para obter uma instância da coleção ExchangeMessagesInfoCollection.
  4. Percorra a coleção ExchangeMessagesInfoCollection para obter o URI exclusivo de cada mensagem.
  5. Chame o método ExchangeClient.saveMessage() e passe o URI exclusivo como um parâmetro.
  6. Forneça um método saveMessage() com um caminho para onde você deseja salvar o arquivo.  

Salvar Mensagens em um OutputStream

Em vez de salvar arquivos EML no disco, é possível salvá-los em um OutputStream. Isso é útil quando você deseja salvar o fluxo em algum local de armazenamento, como um banco de dados. Uma vez que o fluxo foi salvo em um banco de dados, você pode recarregar o arquivo EML na classe MailMessage.

Os trechos de código abaixo salvam mensagens de uma caixa de correio do Exchange Server em um fluxo de memória.

Salvar Mensagens no Formato MSG

O método ExchangeClient.saveMessage() pode salvar diretamente a mensagem no formato EML. Para salvar as mensagens no formato MSG, primeiro, chame o método ExchangeClient.fetchMessage() que retorna uma instância da classe MailMessage. Em seguida, chame o método MailMessage.save() para salvar a mensagem em MSG.

O trecho de código abaixo obtém mensagens de uma caixa de correio do Exchange Server e as salva no formato MSG.