Início rápido

Início rápido

Esta página contém três exemplos independentes que você pode copiar para um projeto de console .NET 8
e executar imediatamente. Cada exemplo cobre um fluxo de trabalho central da biblioteca.

Pré-requisitos

dotnet new console -n EmailDemo
cd EmailDemo
dotnet add package Aspose.Email.Foss

Exemplo 1 — Ler um arquivo MSG

Abra um arquivo Outlook .msg e imprima o assunto, o remetente, os destinatários e os anexos.

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.SenderName} <{message.SenderEmailAddress}>");

foreach (var recipient in message.Recipients)
    Console.WriteLine($"  To: {recipient.DisplayName} <{recipient.EmailAddress}>");

foreach (var attachment in message.Attachments)
    Console.WriteLine($"  Attachment: {attachment.Filename} ({attachment.MimeType})");

Exemplo 2 — Criar e Salvar uma Mensagem

Construa um e‑mail completo com remetente, destinatários e um anexo, e então grave‑o em um arquivo MSG.

using System.IO;
using Aspose.Email.Foss.Msg;

var message = MapiMessage.Create("Quarterly Update", "Please see the attached report.");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";

message.AddRecipient("bob@example.com", "Bob");
message.AddRecipient("carol@example.com", "Carol", MapiMessage.RecipientTypeCc);

message.AddAttachment("report.pdf", File.ReadAllBytes("report.pdf"), "application/pdf");

message.Save("quarterly-update.msg");

Verifique o resultado lendo-o novamente:

using var msg = MapiMessage.FromFile("quarterly-update.msg");
Console.WriteLine(msg.Subject);           // Quarterly Update
Console.WriteLine(msg.Attachments.Count); // 1

Exemplo 3 — Converter entre EML e MSG

Carregue um arquivo .eml padrão (RFC 5322 / MIME) e salve‑o como Outlook MSG, depois converta de volta.

using System.IO;
using Aspose.Email.Foss.Msg;

// EML → MSG
using var emlInput = File.OpenRead("incoming.eml");
var message = MapiMessage.LoadFromEml(emlInput);
message.Save("incoming.msg");

// MSG → EML (round-trip)
message.SaveToEml("roundtrip.eml");

Assunto, corpo, corpo HTML, remetente, destinatários e anexos são todos preservados durante o ciclo de ida e volta EML → MSG → EML.


Próximas Etapas

 Português