Запись и чтение сообщений в хранилище Thunderbird на Java

Thunderbird — это приложение с открытым исходным кодом, позволяющее настраивать учетные записи электронной почты и получать доступ к сообщениям электронной почты из них. Приложение позволяет управлять электронной почтой из нескольких учетных записей в одном месте. В некоторых случаях вам может потребоваться программно создавать и получать доступ к сообщениям электронной почты в хранилище Thunderbird. В соответствии с этим в этой статье показано, как писать и читать сообщения в хранилище Thunderbird на Java.

Java API для записи и чтения сообщений в хранилище Thunderbird

Чтобы писать и читать сообщения электронной почты в хранилище Thunderbird, мы будем использовать Aspose.Email для 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>

Напишите сообщение в хранилище Thunderbird на Java

Вы можете создавать новые сообщения и сохранять их в хранилище Thunderbird за несколько шагов, используя Aspose.Email для Java. Ниже приведены шаги для выполнения этой операции в Java.

  • Сначала загрузите файл MBOX в объект FileOutputStream.
  • Затем создайте экземпляр MboxrdStorageWriter и инициализируйте его потоком.
  • После этого создайте новое MailMessage или загрузите из файла.
  • Запишите сообщение в хранилище, используя метод MboxrdStorageWriter.writeMessage(MailMessage).
  • Наконец, избавьтесь от модуля записи и закройте поток.

В следующем примере кода показано, как написать сообщение в хранилище Thunderbird на Java.

// Загрузить файл
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);
    }
}

Чтение сообщений из хранилища Thunderbird на Java

Чтобы прочитать сообщения из хранилища Thunderbird, нам нужно загрузить файл хранилища с помощью класса MboxrdStorageReader. Ниже приведены шаги для чтения сообщений из Thunderbird в Java.

  • Сначала загрузите файл MBOX в объект FileInputStream.
  • Затем создайте экземпляр MboxrdStorageReader для чтения файла хранилища.
  • После этого прочитайте первое сообщение методом MboxrdStorageReader.readNextMessage().
  • Затем запустите цикл для перебора всех сообщений.
  • Прочтите каждое сообщение и при необходимости сохраните его на диск.
  • Наконец, утилизируйте ридер в конце.

В следующем примере кода показано, как читать сообщения из хранилища Thunderbird на Java.

// Загрузить файл
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 для Java без оценочных ограничений, используя бесплатную временную лицензию.

Вывод

Используя Thunderbird, вы можете управлять сообщениями электронной почты из нескольких учетных записей в одном месте. В этой статье вы узнали, как писать сообщения в хранилище Thunderbird на Java. Кроме того, вы увидели, как программно читать сообщения из хранилища Thunderbird. Кроме того, вы можете посетить документацию, чтобы изучить другие функции Aspose.Email для Java. Если у вас возникнут вопросы, вы можете задать их на нашем форуме.

Смотрите также