1. Produtos
  2.   E-mail
  3.   .NET
  4.   MSGReader  

MSGReader  

 
 

Biblioteca .NET para processamento de arquivos MSG do Outlook

API C# .NET de código aberto para ler, gravar e converter arquivos MSG e EML do MS Outlook.

MSGReader é uma biblioteca Open Source C# .NET para leitura de arquivos MSG e EML do Outlook. Ele permite que os desenvolvedores leiam arquivos MSG e EML do Outlook sem usar o Microsoft Outlook. Os objetos mais comuns do Outlook, como E-mail, Compromisso, Tarefa, Cartão de Visita e Nota autoadesiva, são totalmente suportados. Todos os tipos de corpo em arquivos MSG, como Texto, HTML, HTML incorporado em RTF e RTF também são suportados.

Existem algumas opções disponíveis para a manipulação de arquivos MSG no MSGReader. Ele permite que os desenvolvedores removam anexos de mensagens de e-mail; eles também podem salvar o arquivo em um novo.

Existem algumas opções disponíveis para manipulação de arquivos MSG no MSGReader. Ele permite que os desenvolvedores removam anexos de mensagens de e-mail; eles também podem salvar o arquivo em um novo. 

Previous Next

Introdução ao MSGReader

A maneira mais fácil de instalar o MSGReader é via NuGet. Para usá-lo no Console do Gerenciador de Pacotes do Visual Studio, digite o seguinte comando.

Aqui está o comando

 Install-Package MSGReader 

Usando MSGReader de uma linguagem baseada em COM como script VB ou VB6.

Primeiro, você precisa baixar a versão mais recente e, em seguida, abrir o projeto MSGReader, definir o destino da plataforma como X86 e, em seguida, compilar o código no modo de lançamento, obter o arquivo "MsgReader.dll" da pasta BuildOutput e copiar o arquivo para o local desejado. Depois disso, registre o arquivo para interoperabilidade COM usando o seguinte comando.

Ler e salvar anexo de mensagem MSG do Outlook usando .NET

MSGReader permite que desenvolvedores C# acessem mensagens de e-mail e seus anexos de arquivos MSG e EML do Outlook. Ele fornece suporte para ler um arquivo MSG do Outlook e salvar o corpo da mensagem e todos os seus anexos em uma pasta de saída.

Ler dados MSG - C#

// Read a email .msg file
Message message = new MsgReader.Outlook.Storage.Message("fileformat.msg");
// Read sender
Console.WriteLine("Sender:" + message.Sender);
// Read sent on
Console.WriteLine("SentOn:" + message.SentOn);
// Read recipient to
Console.WriteLine("recipientsTo:" + message.GetEmailRecipients(MsgReader.Outlook.RecipientType.To, false, false));
// Read recipient cc
Console.WriteLine("recipientsCc:" + message.GetEmailRecipients(MsgReader.Outlook.RecipientType.Cc, false, false));
// Read subject
Console.WriteLine("subject:" + message.Subject);
// Read body html
Console.WriteLine("htmlBody:" + message.BodyHtml);

Converter MSG do Outlook como arquivo de texto usando a API .NET

A API MSGReader fornece os recursos para salvar MSG do Outlook como um arquivo de texto usando a API .NET. Os desenvolvedores podem acessar facilmente o conteúdo do arquivo MSG. Crie uma instância da caixa de diálogo salvar arquivo e salve a mensagem no formato de arquivo TXT.

Salvar e-mail do Outlook como texto - C#


var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, 
  "suggestion.msg");
using (var msg = new MsgReader.Outlook.Storage.Message(fileName))
{
  var sb = new StringBuilder();
  var from = msg.Sender;
  var sentOn = msg.SentOn;
  var recipientsTo = msg.GetEmailRecipients(
    MsgReader.Outlook.Storage.Recipient.RecipientType.To, false, false);
  var recipientsCc = msg.GetEmailRecipients(
    MsgReader.Outlook.Storage.Recipient.RecipientType.Cc, false, false);
  var recipientsBCC = msg.GetEmailRecipients(
    MsgReader.Outlook.Storage.Recipient.RecipientType.Bcc, false, false);
  var subject = msg.Subject;
  sb.AppendLine($"  From: {from.DisplayName} {from.Email}");
  sb.AppendLine($"  Sent: {sentOn.Value}");
  sb.AppendLine($"   To: {recipientsTo}");
  sb.AppendLine($"   CC: {recipientsCc}");
  sb.AppendLine($"  BCC: {recipientsBCC}");
  sb.AppendLine($"Subject: {subject}");
  sb.AppendLine($"  Body:");
  sb.AppendLine(msg.BodyText);
  File.WriteAllText(Path.Combine(
    AppDomain.CurrentDomain.BaseDirectory, "suggestion.txt"), 
    sb.ToString());
}
 Português