如何开始使用 Aspose.Email FOSS for .NET

如何开始使用 Aspose.Email FOSS for .NET

本指南将带您完成库的安装、读取您的第一个 MSG 文件、从头创建消息以及在 EML 和 MSG 格式之间的转换。

步骤 1 — 安装软件包

dotnet add package Aspose.Email.Foss

无需额外配置。该包没有本机依赖。


步骤 2 — 读取 MSG 文件

创建一个控制台应用程序并添加以下代码:

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() 解析 MSG 文件的 CFB 容器,并通过强类型的 C# 属性公开所有 MAPI
属性。无需 Microsoft Outlook。


步骤 3 — 创建新的 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() 生成一个内存中的消息。Save() 将其序列化为 MSG 格式 — 您可以传入文件路径、一个 Stream,或在不提供参数的情况下调用 Save() 以获取一个 byte[]


步骤 4 — 将 EML 转换为 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");

内置的 MIME 解析器在完整的 EML ↔ MSG 往返过程中,保留主题、正文、HTML 正文、发件人、收件人以及所有附件。


下一步

 中文