快速入门

快速入门

此页面包含三个独立的示例,您可以将其复制到 .NET 8 控制台项目中
并立即运行。每个示例都涵盖了库的核心工作流。

先决条件

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

示例 1 — 读取 MSG 文件

打开 Outlook .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.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})");

示例 2 — 创建并保存消息

构建包含发件人、收件人和附件的完整电子邮件,然后将其写入 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");

请提供需要翻译的英文文本,我才能为您完成翻译并进行核对。

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

示例 3 — 在 EML 与 MSG 之间转换

加载标准 .eml 文件(RFC 5322 / MIME),并将其保存为 Outlook MSG,然后再转换回来。

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");

主题、正文、HTML 正文、发件人、收件人以及附件在 EML → MSG → EML 循环转换中均得以保留。


后续步骤

 中文