HTML JPG PDF XML PST
Aspose.Email  para .NET
PST

Geração em Massa de Relatórios no Formato PST via C#

Gerar mensagens de e‑mail em lote e adicioná‑las ao arquivo PST via API .NET.

Como Gerar Relatórios Baseados em PST Usando C#

Para criar relatórios PST, usaremos

Aspose.Email para .NET

API rica em recursos, poderosa e fácil de usar para geração de relatórios na plataforma C#. Abra

NuGet

Gerenciador de pacotes, procure por Aspose.Email e instale. Você também pode usar o seguinte comando no Console do Gerenciador de Pacotes.

Comando do Console do Gerenciador de Pacotes


PM> Install-Package Aspose.Email

Etapas para Montar PST via C#

  1. Criar um modelo como MailMessage e adicionar campos dinâmicos
  2. Criar fonte de dados e mapeamento
  3. Inicializar o TemplateEngine usando o objeto MailMessage
  4. Chamar o método TemplateEngine.Instantiate para gerar mensagens em lote
  5. Criar um novo PST com o método PersonalStorage.Create
  6. Adicionar pasta no PST
  7. Adicionar mensagens do TemplateEngine à pasta usando o método FolderInfo.Add
  8. Salvar no formato PST

Requisitos do Sistema

Aspose.Email para .NET é suportado em todos os principais sistemas operacionais. Apenas certifique-se de que você tem os pré-requisitos a seguir.

  • Microsoft Windows ou um SO compatível com .NET Framework, .NET Core e plataformas Xamarin
  • Ambiente de desenvolvimento como o Microsoft Visual Studio
  • Aspose.Email para .NET referenciado em seu projeto
 

Código de exemplo C# para geração de relatórios de mensagens PST


    // create a template from MailMessage
    MailMessage template = new MailMessage();
    // add template field to subject
    template.Subject = "Hello, #FirstName#";
    template.From = new MailAddress("This email address is being protected from spambots. You need JavaScript enabled to view it.", "This email address is being protected from spambots. You need JavaScript enabled to view it.");
    // add template field to receipt
    template.To.Add(new MailAddress("#Receipt#", true));
    // add template field to html body
    template.HtmlBody = "Dear #FirstName# #LastName# Sent Date: #Date#";
    // create a new TemplateEngine with the template message.
    var engine = new Email.Tools.Merging.TemplateEngine(template);
    
    // fill a DataTable
    var dt = new System.Data.DataTable();
    dt.Columns.Add("Receipt", typeof(string)); 
    dt.Columns.Add("First Name", typeof(string));
    dt.Columns.Add("Last Name", typeof(string));
    dt.Columns.Add("Date", typeof(DateTime));
    System.Data.DataRow dr;
    
    dr = dt.NewRow(); 
    dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it."; dr["First Name"] = "Nancy"; dr["Last Name:"] = "Davolio"; dr["Date"] = System.DateTime.Now;
    dt.Rows.Add(dr);
    
    dr = dt.NewRow();
    dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it."; dr["First Name"] = "Andrew"; dr["Last Name"] = "Fuller"; dr["Date"] = System.DateTime.Now;
    dt.Rows.Add(dr);
    
    dr = dt.NewRow();
    dr["Receipt"] = "This email address is being protected from spambots. You need JavaScript enabled to view it."; dr["First Name"] = "Janet"; dr["Last Name"] = "Leverling"; dr["Date"] = System.DateTime.Now;
    dt.Rows.Add(dr);
    
    // map columns
    var mappings = new System.Data.Common.DataColumnMappingCollection();
    mappings.Add(new System.Data.Common.DataColumnMapping("Receipt", "Receipt"));
    mappings.Add(new System.Data.Common.DataColumnMapping("First Name", "FirstName"));
    mappings.Add(new System.Data.Common.DataColumnMapping("Last Name", "LastName"));
    mappings.Add(new System.Data.Common.DataColumnMapping("Date", "Date"));
    Aspose.Email.MailMessageCollection messages;
    
    // create new PST
    var pst = Email.Storage.Pst.PersonalStorage.Create("storage.pst", Email.Storage.Pst.FileFormatVersion.Unicode);
    // add folder to PST
    var inboxFolder = pst.RootFolder.AddSubFolder("Inbox");
    
    //  create messages from engine
    messages = engine.Instantiate(dt, mappings);
    for (int i = 0; i < messages.Count; i++)
    {
        // save messages in PST format
        messages[i].Save(i + ".pst");
        inboxFolder.AddMessage(MapiMessage.FromMailMessage(messages[i]));
    }
    // save in PST format
    pst.SaveAs("output.pst", Email.Storage.Pst.FileFormat.Pst);
 
  • Sobre a API Aspose.Email para .NET

    Aspose.Email é uma solução de análise de formatos do Microsoft Outlook e Thunderbird. É possível criar, manipular e converter formatos de e‑mail e armazenamento como MSG, EMLX, EML e MHT com facilidade. O manuseio de anexos de e‑mail, a personalização de cabeçalhos de mensagens e a implementação de diferentes protocolos de rede como POP3, IMAP e SMTP para enviar e receber e‑mails fica muito mais simples. É uma API autônoma e não requer a instalação do Microsoft Outlook ou de qualquer outro software.

    Aplicativo Gratuito para Montar PST

    Confira nossas demonstrações ao vivo para criar arquivos PST com os seguintes benefícios.

      Não é necessário baixar ou configurar nada
      Não é necessário escrever ou compilar código
      Basta fazer upload do arquivo PST e pressionar o "Assemble" button
      Baixe o arquivo PST resultante a partir do link

    PST What is PST File Format

    Arquivos com extensão .PST representam Arquivos de Armazenamento Pessoal do Outlook (também chamados de Personal Storage Table) que armazenam uma variedade de informações do usuário. As informações do usuário são armazenadas em pastas de diferentes tipos que incluem e‑mails, itens de calendário, notas, contatos e vários outros formatos de arquivo. Os arquivos PST são usados para arquivar dados de e‑mail offline, que podem ser carregados e visualizados posteriormente em diversos aplicativos.

    Read More

    Outros Formatos Suportados de Geração de Relatórios

    Usando C#, é fácil gerar relatórios em múltiplos formatos, incluindo.

    EML (Mensagens de e‑mail do Outlook)
    MBOX (Mensagens de correio eletrônico)
    MSG (Formato Outlook & Exchange)
    OST (Arquivos de armazenamento offline)