Salvar mensagens da caixa de correio Exchange Server usando WebDav

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

Salvar mensagens de uma caixa de correio Exchange Server para EML

Para obter mensagens e salvar no formato EML:

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

Salvar mensagens em um OutputStream

Em vez de salvar arquivos EML em 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. Depois que o fluxo for salvo em um banco de dados, você pode recarregar o arquivo EML no MailMessage classe.

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

Salvar mensagens no formato MSG

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

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