在 Java 中的 Thunderbird 存储上读写消息

Thunderbird 是一个开源应用程序,允许您配置您的电子邮件帐户并访问来自他们的电子邮件消息。该应用程序可以在一个地方管理来自多个帐户的电子邮件。在某些情况下,您可能需要以编程方式在 Thunderbird 存储中创建和访问电子邮件。据此,本文展示了如何使用 Java 在 Thunderbird 存储上写入和读取消息。

在 Thunderbird 存储中写入和读取消息的 Java API

要在 Thunderbird 存储中编写和阅读电子邮件,我们将使用 Aspose.Email for Java。它是一个电子邮件处理 API,可让您操作电子邮件并使用流行的电子邮件客户端,例如 Thunderbird、Outlook 等。您可以 下载 API 或使用以下 Maven 配置安装它。

存储库:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

依赖:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.3</version>
    <classifier>jdk16</classifier>
</dependency>

用 Java 编写关于 Thunderbird 存储的消息

您可以使用 Aspose.Email for Java 创建新消息并将它们存储在 Thunderbird 的存储中。以下是在 Java 中执行此操作的步骤。

以下代码示例展示了如何使用 Java 将消息写入 Thunderbird 存储。

// 加载文件
try (FileOutputStream writeStream = new FileOutputStream("inbox")) {
    
    // 创建作家
    try (MboxrdStorageWriter writer = new MboxrdStorageWriter(writeStream, false)) {
        
        // 从 MSG 文件加载消息
        MailMessage msg = MailMessage.load("Message.msg");
        String[] fromMarker = {null};
        
        // 写信息
        writer.writeMessage(msg, fromMarker);
    }
}

用 Java 从 Thunderbird 存储中读取消息

要从 Thunderbird 存储读取消息,我们需要使用 MboxrdStorageReader 类加载存储文件。以下是在 Java 中从 Thunderbird 读取消息的步骤。

  • 首先,将 MBOX 文件加载到 FileInputStream 对象中。
  • 然后,创建一个 MboxrdStorageReader 的实例来读取存储文件。
  • 之后,使用 MboxrdStorageReader.readNextMessage() 方法读取第一条消息。
  • 然后,开始循环遍历所有消息。
  • 如果需要,请阅读每条消息并将其保存在磁盘上。
  • 最后,在最后处理读者。

以下代码示例展示了如何从 Java 中的 Thunderbird 存储中读取消息。

// 加载文件
try (FileInputStream stream = new FileInputStream("file.mbox")) {
    
    // 创建负载选项
    MboxLoadOptions lo = new MboxLoadOptions();
    lo.setLeaveOpen(false);
    
    // 从文件中读取消息
    try (MboxrdStorageReader reader = new MboxrdStorageReader(stream, lo)) {
        MailMessage msg;
        String[] fromMarker = {null};
        while ((msg = reader.readNextMessage(/* out */fromMarker)) != null) {
            System.out.println(fromMarker[0]);
        }
    }
}

获取免费 API 许可证

您可以使用 免费临时许可证 使用 Aspose.Email for Java,而不受评估限制。

结论

使用 Thunderbird,您可以在一个位置管理来自多个帐户的电子邮件。在本文中,您学习了如何使用 Java 将消息写入 Thunderbird 存储。此外,您还了解了如何以编程方式从 Thunderbird 存储中读取消息。除此之外,您可以访问 文档 来探索 Aspose.Email for Java 的其他功能。如果您有任何问题,您可以在我们的 论坛 上发帖。

也可以看看