Читання та експорт файлів Zimbra TGZ

Zimbra — це хмарний пакет електронної пошти та спільної роботи, який надає електронну пошту, контакти, календарі, спільний доступ до файлів, завдання та обмін повідомленнями — все доступно через веб‑клієнт Zimbra на будь‑якому пристрої.

Aspose.Email for Node.js via .NET дозволяє розробникам читати, витягувати та експортувати дані з резервних копій Zimbra TGZ, використовуючи TgzReader клас. Ви можете легко отримати доступ до всіх повідомлень, підрахувати загальну кількість елементів та експортувати повідомлення, контакти або дані календаря з TGZ файлів у поширені формати.

Читати всі повідомлення з файлу Zimbra TGZ

The 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

The 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.");