Como Começar com Aspose.Email FOSS para .NET

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.Foss

Nenhuma 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

 Português