Ler e Exportar Arquivos TGZ do Zimbra

Zimbra é uma suíte de e‑mail e colaboração baseada na nuvem que fornece e‑mail, contatos, calendários, compartilhamento de arquivos, tarefas e mensagens — tudo acessível através do Zimbra Web Client em qualquer dispositivo.

Aspose.Email para Node.js via .NET permite que desenvolvedores leiam, extraiam e exportem dados de arquivos de backup TGZ do Zimbra usando o TgzReader classe. Você pode acessar facilmente todas as mensagens, contar itens totais e exportar mensagens, contatos ou dados de calendário de arquivos TGZ para formatos comuns.

Ler Todas as Mensagens de um Arquivo TGZ do Zimbra

O TgzReader classe permite ler todas as mensagens armazenadas em um arquivo de backup TGZ do Zimbra.

O exemplo a seguir demonstra como iterar por todas as mensagens e exibir sua localização de pasta e assunto.

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

Contar Total de Itens em um Arquivo TGZ do Zimbra

Você pode determinar rapidamente quantos itens de e‑mail existem em um backup TGZ usando o getTotalItemsCount() método do TgzReader classe.

O exemplo de código a seguir mostrará como implementar este método em seu projeto:

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();

Salvar Mensagens e Estrutura de Pastas de um Arquivo TGZ do Zimbra

O exportTo() método permite salvar todas as mensagens de um arquivo TGZ preservando a estrutura original de pastas. Isso é útil ao restaurar ou migrar dados de caixa de correio.

O exemplo de código a seguir demonstra como extrair e exportar todas as mensagens de e‑mail do Zimbra de um arquivo de arquivo TGZ usando a biblioteca 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}`);

Exportar Calendário e Contatos de Arquivos de Backup do Zimbra

Os backups TGZ do Zimbra podem incluir pastas de contatos e calendário. Você pode exportá-los para os formatos VCard (.vcf) e iCalendar (.ics) usando o mesmo exportTo() método.

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