Trabalhando com Zimbra

Sobre o Zimbra

O Zimbra é uma suíte de email, calendário e colaboração construída para a nuvem. O Zimbra inclui email completo, contatos, calendário, compartilhamento de arquivos, tarefas e mensagens/videoconferência, tudo acessado a partir do Cliente Web Zimbra de qualquer dispositivo.

Ler todas as mensagens do armazenamento TGZ do Zimbra

Aspose.Email fornece a classe TgzReader para ler arquivos de armazenamento TGZ do Zimbra. O seguinte código de exemplo demonstra o uso da classe TgzReader para ler todas as mensagens do arquivo.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();
TgzReader reader = new TgzReader(dataDir + "ZimbraSample.tgz");
while (reader.ReadNextMessage())
{
string directoryName = reader.CurrentDirectory;
Console.WriteLine(directoryName);
MailMessage eml = reader.CurrentMessage;
Console.WriteLine(eml.Subject);
}

Obter contagem total de itens de um arquivo Tgz

O método GetTotalItemsCount() da classe TgzReader retornará o número total de itens de mensagem contidos no armazenamento.

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

using (TgzReader reader = new TgzReader(fileName))  
{  
    int count = reader.GetTotalItemsCount();  
}  

Salvar Mensagens e Estrutura de Diretórios

Você também pode salvar todas as mensagens com a estrutura de diretórios do arquivo de armazenamento TGZ do Zimbra. Para isso, a classe TgzReader fornece um método ExportTo que recebe o caminho de saída como parâmetro.

O seguinte trecho de código demonstra o uso do método TgzReader.ExportTo para salvar todas as mensagens do arquivo de armazenamento TGZ do Zimbra.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
string dataDir = RunExamples.GetDataDir_Email();
string outputDir = RunExamples.GetDataDir_Email() + "Zimbra/";
using (TgzReader reader = new TgzReader(dataDir + "ZimbraSample.tgz"))
{
reader.ExportTo(outputDir);
}

Exportar Itens de Calendário e Contato de Arquivos de Backup do Zimbra

Para exportar o calendário e contatos do Zimbra e salvá-los nos formatos iCalendar e VCard, você pode usar o seguinte trecho de código:

using (var reader = new TgzReader(@"test2.tgz"))  
{  
    //os arquivos de contatos podem ser encontrados nas subpastas Contatos e Contatos Enviados  
    //os arquivos de calendário podem ser encontrados na subpasta Calendário  
    reader.ExportTo(@"out");  
}