1. Produtos
  2.   Aspose.Email
  3.   Aspose.Email FOSS for .NET

Aspose.Email FOSS for .NET

Leia, crie e processe arquivos Outlook MSG, contêineres CFB e mensagens EML a partir de .NET — gratuito e de código aberto, sem dependência do Microsoft Outlook.

Biblioteca .NET de código aberto para arquivos MSG, CFB e EML

Aspose.Email FOSS para .NET é uma biblioteca C# licenciada sob MIT, sem dependências, para trabalhar com arquivos .msg do Microsoft Outlook, contêineres Compound File Binary (CFB) e mensagens EML. Adicione um único pacote NuGet e comece imediatamente a ler, criar e processar mensagens de e‑mail sem instalar o Microsoft Outlook ou qualquer runtime proprietário.

A biblioteca oferece dois níveis de acesso. No nível baixo, CfbReader e CfbWriter dão controle total sobre contêineres binários CFB — percorrer entradas de diretório, ler e gravar nós de armazenamento e dados de fluxo, e inspecionar o layout bruto dos setores. MsgReader e MsgWriter lidam com o formato MSG sobre o CFB, expondo fluxos de propriedades MAPI, tabelas de destinatários e subarmazenamentos de anexos. No nível alto, MapiMessage permite criar novas mensagens do zero, ler assunto, corpo, remetente e destinatários, gerenciar anexos e converter entre os formatos MSG e EML via uma implementação MIME incorporada.

A biblioteca tem como alvo .NET 8.0 ou posterior e não possui dependências nativas, tornando-a adequada para Windows, Linux, macOS, contêineres Docker e funções serverless. Para recursos adicionais e suporte comercial, veja Aspose.Email for .NET.

CFB Container Leitura e Escrita

  • Aber arquivos CFB: Carregar contêineres CF B existentes a partir de um caminho de arquivo, fluxo ou array de bytes via CfbReader.FromFile(), CfbReader.FromStream(), ou new CfbReader(data).
  • Cruze a árvore de diretório: Iterar armazenamentos, fluxos e filhos usando IterStorages(), IterStreams(),IterChildren() e IterTree().
  • ** Resolver caminhos:** Navegue nas hierarquias de armazenamento aninhado com ResolvePath(names) para localizar um fluxo específico por cadeia de nomes.
  • Escrever contêineres CFB: Criar documentos CF B programaticamente com CfbDocument e serializar em bytes ou arquivo através de CfbWriter.ToBytes() ou CfbWriter.WriteFile().
  • ** Adicionar armazenamentos e fluxos:** Anexar os nós CfbStorage e CfbStream a qualquer nó de armazem-lo antes da serialização.

Onde é utilizado o acesso CFB

  • ** Inspeção de arquivo MSG:** CFB é o formato do contêiner para Outlook .msg arquivos acesso directo ao CF B permite inspecção e reparação forense.
  • Formados binários personalizados: Qualquer aplicação antiga que utilize o CFB para armazenamento de dados pode ser lida ou escrita sem uma dependência COM.
  • Recuperação de dados: Atravesse a árvore completa do diretório e extraia bytes cruos de fluxo de arquivos CFB danificados ou não padrão.
  • ** Teste binário de ida e volta:** Serializar um documento em bytes e recarregá-lo para verificar a serialização sem perdas em testes automatizados.

Arquivo MSG Leitura e Escrita

  • Ler arquivos MSG: Abrir arquivos Outlook MS G com MsgReader.FromFile() ou MsgReader.FromStream() e acessar os fluxos de propriedade MAPI subjacentes, registros do destinatário e armazenamento de anexos.
  • Escrever arquivos MSG: Produzir arquivos MS G a partir de um MsgDocument com MsgWriter.ToBytes() ou MsgWriter.WriteFile().
  • ** Acesso MAPI de baixo nível:** Ler fluxos de propriedades de alto nível, proprietos nomeados e dados de anexo via MsgStorage, MsgStream e MsgStorage.FindStream().
  • ** Navegação de armazenamento MSG:** Use MsgStorage.FindStream() e MsgStorage.FindStorage() para localizar sub-entras nomeadas.

Onde é utilizado o processamento de MSG

  • ** Pipelines de arquivo de e-mail:** Arquivos .msg em leitura a granel dos diretórios de archive e extrair metadados ou anexos.
  • ** Ferramentas de migração:** Converter coleções MSG para formatos padrão para importação em sistemas que não sejam do Outlook.
  • Descoberta legal: Analisar fluxos de propriedade MAPI brutos para extrair todos os campos de mensagem, incluindo proprietades não-padrão.
  • ** Entrega automática de relatórios:** Construir arquivos .msg programaticamente e entregá-los a sistemas de correio baseados no Outlook.

API de mensagens de alto nível

  • Criar mensagens: Construa um e‑mail completo com MapiMessage.Create(subject, body), defina SenderName, SenderEmailAddress e HtmlBody.
  • Adicionar destinatários: Anexe os destinatários To, Cc e Bcc via AddRecipient() com endereço de e‑mail e nome de exibição.
  • Gerenciar anexos: Adicione anexos de arquivo e fluxo com AddAttachment() ou construa objetos MapiAttachment diretamente com Filename, MimeType, ContentId e Data.
  • Salvar e recarregar: Serialize com message.Save() ou message.Save(stream) e recarregue com MapiMessage.FromFile() ou MapiMessage.FromStream().

Onde a API de alto nível é usada

  • Geração automática de e‑mail: Gere milhares de arquivos MSG personalizados a partir de registros de dados em trabalhos em lote.
  • Criação de fixtures de teste: Construa arquivos MSG conhecidos e corretos com conteúdo previsível para suítes de testes de integração.
  • Extração de anexos: Carregue um arquivo MSG, itere message.Attachments, e salve cada attachment.Data no disco.
  • Inspeção de propriedades: Acesse message.Subject, message.Body, message.SenderEmailAddress e message.Recipients sem automação COM.

Conversão EML e MIME

  • ** Carregar EML em MapiMessage:** Analisar um padrão .eml arquivo (RFC 5322 / MIME) em um completo MapiMessage objeto através de MapiMessage.LoadFromEml(stream).
  • ** Salvar MapiMessage como EML:** Serializar um MapiMessage de volta ao formato MIME com message.SaveToEml() ou message.SaveToEml(stream).
  • Fidelidade de ida e volta: O assunto, o corpo, a tela HTML, os remetentes, destinatários e anexos são todos preservados através das viagens em EML → MSG → EM L.
  • ** Nenhum analisador MIME externo:** O análise EML é implementado nativamente dentro da biblioteca não é necessária a dependência System.Net.Mail.

Onde é utilizada a conversão EML

  • Format bridging: Receba e-mails como EML de servidores de correio e converta para MSG para armazenamento compatível com o Outlook.
  • ** Conformidade com as normas:** Converter arquivos MSG proprietários em MIME padrão para entrega a qualquer transporte de correio.
  • ** Normalização de arquivo:** Normalizam um arquivamento misto dos ficheiros .eml e .msg num único formato.
  • ** Fluxos de trabalho de ensaio:** Gerar acessórios .eml em ensaios e verificar se sobrevivem à viagem de ida e volta sem perda de dados.

Leia assunto de um ficheiro MSG

Abra um arquivo Outlook MSG a partir de uma transmissão e imprima o assunto não é necessário Microsoft Outlook.

using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine(message.Subject);

Criar e Salvar uma mensagem MSG

Crie um e-mail completo com remetente, destinatário e anexo, depois escreva em um arquivo MSG.

using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);

Conversão de EML em MSG

Carregar um ficheiro padrão .eml e salvá-lo como um Outlook .msg arquivo usando o parser MIME embutido.

using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);
  

Recursos de Suporte e Aprendizado

 Português