Чтение и экспорт файлов Zimbra TGZ
Zimbra — облачный пакет электронной почты и совместной работы, предоставляющий почту, контакты, календари, совместное использование файлов, задачи и сообщения — всё доступно через веб‑клиент Zimbra на любом устройстве.
Aspose.Email for Node.js via .NET позволяет разработчикам читать, извлекать и экспортировать данные из резервных файлов Zimbra TGZ, используя TgzReader класс. Вы можете легко получить доступ ко всем сообщениям, подсчитать общее количество элементов и экспортировать сообщения, контакты или данные календаря из TGZ‑файлов в общие форматы.
Чтение всех сообщений из файла Zimbra TGZ
Этот TgzReader класс позволяет читать все сообщения, хранящиеся в резервном файле Zimbra TGZ.
Следующий пример демонстрирует, как пройтись по всем сообщениям и отобразить их расположение в папке и тему.
const asposeemail = require('@aspose/email');
const fs = require('fs');
// Path to the Zimbra TGZ file
const tgzPath = "ZimbraSample.tgz";
// Create a TgzReader instance
const reader = new asposeemail.TgzReader(tgzPath);
// Read and display all messages
while (reader.readNextMessage()) {
const directoryName = reader.currentDirectory;
console.log("Directory:", directoryName);
const message = reader.currentMessage;
console.log("Subject:", message.subject);
}
reader.dispose();
console.log("All messages read successfully from the Zimbra TGZ file.");
Подсчитать общее количество элементов в файле Zimbra TGZ
Вы можете быстро определить, сколько элементов электронной почты находится в резервной копии TGZ, используя getTotalItemsCount() метод TgzReader класс.
Следующий пример кода покажет, как реализовать этот метод в вашем проекте:
const asposeemail = require('@aspose/email');
const tgzFile = "ZimbraSample.tgz";
const reader = new asposeemail.TgzReader(tgzFile);
const totalCount = reader.getTotalItemsCount();
console.log(`Total items in TGZ file: ${totalCount}`);
reader.dispose();
Сохранить сообщения и структуру папок из файла Zimbra TGZ
Этот exportTo() метод позволяет сохранять все сообщения из TGZ‑файла, сохраняя исходную структуру папок. Это полезно при восстановлении или миграции данных почтового ящика.
Ниже приведён пример кода, демонстрирующий, как извлечь и экспортировать все сообщения электронной почты Zimbra из архива TGZ с использованием библиотеки Aspose.Email.
const asposeemail = require('@aspose/email');
const tgzFile = "ZimbraSample.tgz";
const outputDir = "Output/Zimbra/";
const reader = new asposeemail.TgzReader(tgzFile);
reader.exportTo(outputDir);
reader.dispose();
console.log(`All Zimbra messages exported to: ${outputDir}`);
Экспорт календаря и контактов из файлов резервных копий Zimbra
Резервные копии Zimbra TGZ могут включать папки контактов и календарей. Вы можете экспортировать их в форматы VCard (.vcf) и iCalendar (.ics), используя тот же exportTo() метод.
const asposeemail = require('@aspose/email');
const tgzFile = "ZimbraBackup.tgz";
const outputPath = "Output/ZimbraData/";
const reader = new asposeemail.TgzReader(tgzFile);
// Contacts can be found in "Contacts" and "Emailed Contacts" folders.
// Calendar entries can be found in the "Calendar" folder.
reader.exportTo(outputPath);
reader.dispose();
console.log("Zimbra calendar and contacts exported successfully.");