Сохранение сообщений из почтового ящика Exchange Server с использованием WebDav

В этой статье показано, как получить сообщения из почтового ящика Exchange Server и сохранить их на диск в форматах EML и MSG.

Сохранение сообщений из почтового ящика Exchange Server в формат EML

Чтобы получить сообщения и сохранить в формате EML:

  1. Создайте экземпляр класса ExchangeClient.
  2. Укажите имя сервера, имя пользователя, пароль и домен.
  3. Вызовите метод ExchangeClient.listMessages(), чтобы получить экземпляр коллекции ExchangeMessagesInfoCollection.
  4. Пройдите по коллекции ExchangeMessagesInfoCollection, чтобы получить уникальный URI для каждого сообщения.
  5. Вызовите метод ExchangeClient.saveMessage() и передайте уникальный URI в качестве параметра.
  6. Укажите метод saveMessage() с путем, где вы хотите сохранить файл.

Сохранение сообщений в OutputStream

Вместо сохранения EML файлов на диск можно сохранить их в OutputStream. Это полезно, когда вы хотите сохранить поток в какое-либо место хранения, например, в базу данных. Как только поток будет сохранен в базу данных, вы можете загрузить файл EML в класс MailMessage.

Приведенные ниже фрагменты кода сохраняют сообщения из почтового ящика Exchange Server в память.

Сохранение сообщений в формате MSG

Метод ExchangeClient.saveMessage() может напрямую сохранять сообщение в формате EML. Чтобы сохранить сообщения в формате MSG, сначала вызовите метод ExchangeClient.fetchMessage(), который возвращает экземпляр класса MailMessage. Затем вызовите метод MailMessage.save(), чтобы сохранить сообщение в формате MSG.

Приведенный ниже фрагмент кода получает сообщения из почтового ящика Exchange Server и сохраняет их в формате MSG.