Como Começar com Aspose.Email FOSS para .NET
Este guia orienta você na instalação da biblioteca, na leitura do seu primeiro arquivo MSG, na criação de uma mensagem do zero e na conversão entre os formatos EML e MSG.
Etapa 1 — Instalar o Pacote
dotnet add package Aspose.Email.FossNenhuma configuração adicional é necessária. O pacote não tem dependências nativas.
Etapa 2 — Ler um arquivo MSG
Crie um aplicativo de console e adicione o seguinte código:
using System.IO;
using Aspose.Email.Foss.Msg;
using var stream = File.OpenRead("sample.msg");
var message = MapiMessage.FromStream(stream);
Console.WriteLine($"Subject: {message.Subject}");
Console.WriteLine($"From: {message.SenderEmailAddress}");
Console.WriteLine($"Body: {message.Body}");
foreach (var recipient in message.Recipients)
Console.WriteLine($"To: {recipient.EmailAddress}");
foreach (var attachment in message.Attachments)
Console.WriteLine($"Attachment: {attachment.Filename} ({attachment.MimeType})");MapiMessage.FromStream() analisa o contêiner CFB do arquivo MSG e expõe todas as propriedades MAPI por meio de propriedades C# fortemente tipadas. Não é necessário o Microsoft Outlook.
Etapa 3 — Criar um Novo Arquivo MSG
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Meeting Notes", "Please find the notes attached.");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
// Add a file attachment
message.AddAttachment("notes.txt", System.Text.Encoding.UTF8.GetBytes("Meeting notes here"), "text/plain");
// Save to file
message.Save("meeting_notes.msg");
Console.WriteLine("Created meeting_notes.msg");MapiMessage.Create() produz uma mensagem em memória. Save() serializa‑a para o formato MSG — você pode passar um caminho de arquivo, um Stream, ou chamar Save() sem argumentos para obter um byte[].
Etapa 4 — Converter EML para MSG
using System.IO;
using Aspose.Email.Foss.Msg;
// Load from EML
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
Console.WriteLine($"Subject: {message.Subject}");
// Save as MSG
message.Save("converted.msg");
Console.WriteLine("Saved converted.msg");
// Or save back to EML (round-trip)
message.SaveToEml("roundtrip.eml");O analisador MIME interno preserva o assunto, o corpo, o corpo HTML, o remetente, os destinatários e todos os anexos durante conversões completas EML ↔ MSG.
Próximas Etapas
- Recursos e Funcionalidades — referência completa de recursos com exemplos em C#
- Perguntas Frequentes — respostas às perguntas comuns
- Guia de Instalação — configuração do NuGet e requisitos de versão do .NET