使用 WebDav 保存 Exchange 服务器邮箱中的消息

本文展示如何从 Exchange 服务器邮箱获取消息并以 EML 和 MSG 格式保存到磁盘。

将 Exchange 服务器邮箱中的消息保存为 EML

获取消息并保存为 EML 格式:

  1. 创建该类的实例 ExchangeClient 类。
  2. 提供服务器名称、用户名、密码和域。
  3. 调用 ExchangeClient.listMessages() 方法以获取该实例 ExchangeMessagesInfoCollection 集合。
  4. 循环遍历 ExchangeMessagesInfoCollection 集合以获取每条消息的唯一 URI。
  5. 调用 ExchangeClient.saveMessage() 方法并将唯一 URI 作为参数传入。
  6. 提供一个 saveMessage() 方法接受保存文件的路径。  

将消息保存到 OutputStream

除了将 EML 文件保存到磁盘外,还可以保存到 OutputStream。这在需要将流保存到数据库等存储位置时非常有用。流保存到数据库后,您可以将 EML 文件重新加载到 MailMessage 类。

以下代码片段将 Exchange 服务器邮箱中的消息保存到内存流。

以 MSG 格式保存消息

该 ExchangeClient.saveMessage() method 可以直接将消息保存为 EML 格式。若要将消息保存为 MSG 格式,首先调用 ExchangeClient.fetchMessage() 返回实例的method MailMessage 类。然后调用 MailMessage.save() 将消息保存为 MSG 的方法。

以下代码片段从 Exchange 服务器邮箱获取消息并保存为 MSG 格式。