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

Geração de relatórios em massa no formato PST via C#

Gere mensagens de e-mail em massa e adicione 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 que é uma API de geração de relatórios rica em recursos, poderosa e fácil de usar para a plataforma C#. Abrir

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 o PST via C #

  1. Crie um modelo como MailMessage e adicione campos dinâmicos
  2. Criar fonte de dados e mapeamento
  3. Inicializar TemplateEngine usando o objeto MailMessage
  4. Chame o método TemplateEngine.Instantiate para gerar mensagens em massa
  5. Crie 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 de sistema

Aspose.Email para .NET é compatível com todos os principais sistemas operacionais. Apenas certifique-se de ter os seguintes pré-requisitos.

  • Microsoft Windows ou um sistema operacional compatível com plataformas .NET Framework, .NET Core e 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ório de mensagem 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 Aspose.Email para API .NET

    Aspose.Email é uma solução de análise de formatos do Microsoft Outlook e Thunderbird. Pode-se facilmente criar, manipular, converter e-mail e formatos de armazenamento, como MSG, EMLX, EML e MHT. O manuseio de anexos de e-mail, personalização de cabeçalhos de mensagens e implementação de diferentes protocolos de rede como POP3, IMAP e SMTP para enviar e receber e-mails é muito mais fácil. É uma API independente e não requer o Microsoft Outlook ou qualquer outra instalação de software.

    Aplicativo Gratuito para Montar PST

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

      Não há necessidade de baixar ou configurar nada
      Não há necessidade de escrever ou compilar código
      Basta carregar o arquivo PST e clicar no botão "Montar"
      Baixe o arquivo PST resultante no link

    PST What is PST File Format

    Arquivos com extensão .PST representam arquivos de armazenamento pessoal do Outlook (também chamados de tabela de armazenamento pessoal) que armazenam várias 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 vários aplicativos.

    Read More

    Outros formatos de geração de relatórios suportados

    Usando C#, pode-se facilmente gerar relatórios de vários formatos, incluindo.

    EML (Mensagens de e-mail do Outlook)
    MBOX (Mensagens de correio eletrônico)
    MSG (Formato Outlook e Exchange)
    OST (Arquivos de armazenamento off-line)