MSGReader
用于 Outlook MSG 文件处理的 .NET 库
开源 C# .NET API 用于读取、写入和转换 MS Outlook MSG 和 EML 文件。
MSGReader 是用于读取 Outlook MSG 和 EML 文件的开源 C# .NET 库。它使开发人员无需使用 Microsoft Outlook 即可读取 Outlook MSG 和 EML 文件。完全支持最常见的 Outlook 对象,例如电子邮件、约会、任务、联系人卡片和便笺。还支持 MSG 文件中的所有正文类型,例如文本、HTML、嵌入到 RTF 和 RTF 中的 HTML。
在 MSGReader 中有几个可用于操作 MSG 文件的选项。它允许开发人员从电子邮件中删除附件;他们还可以将文件保存到新文件。
在 MSGReader 中有几个可用于操作 MSG 文件的选项。它允许开发人员从电子邮件中删除附件;他们还可以将文件保存到新文件。
MSGReader 入门
安装 MSGReader 的最简单方法是通过 NuGet。要从 Visual Studio 的包管理器控制台使用它,请输入以下命令。
这是命令
Install-Package MSGReader
从基于 COM 的语言(如 VB 脚本或 VB6)中使用 MSGReader。
首先,您需要下载最新版本,然后打开 MSGReader 项目,将平台目标设置为 X86,然后以发布模式构建代码,从 BuildOutput 文件夹中获取“MsgReader.dll”文件并将文件复制到所需位置。之后使用以下命令为 COM 互操作注册文件。
使用 .NET 读取和保存 Outlook MSG 邮件附件
MSGReader 使 C# 开发人员能够访问电子邮件及其 Outlook MSG 和 EML 文件的附件。它支持读取 Outlook MSG 文件并将邮件正文及其所有附件保存到输出文件夹。
读取味精数据 - C#
// Read a email .msg file
Message message = new MsgReader.Outlook.Storage.Message("fileformat.msg");
// Read sender
Console.WriteLine("Sender:" + message.Sender);
// Read sent on
Console.WriteLine("SentOn:" + message.SentOn);
// Read recipient to
Console.WriteLine("recipientsTo:" + message.GetEmailRecipients(MsgReader.Outlook.RecipientType.To, false, false));
// Read recipient cc
Console.WriteLine("recipientsCc:" + message.GetEmailRecipients(MsgReader.Outlook.RecipientType.Cc, false, false));
// Read subject
Console.WriteLine("subject:" + message.Subject);
// Read body html
Console.WriteLine("htmlBody:" + message.BodyHtml);
使用 .NET API 将 Outlook MSG 转换为文本文件
MSGReader API 提供了使用 .NET API 将 Outlook MSG 保存为文本文件的功能。开发人员可以轻松访问 MSG 文件内容。创建保存文件对话框的实例并将消息保存为 TXT 文件格式。
将 Outlook 电子邮件另存为文本 - C#
var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
"suggestion.msg");
using (var msg = new MsgReader.Outlook.Storage.Message(fileName))
{
var sb = new StringBuilder();
var from = msg.Sender;
var sentOn = msg.SentOn;
var recipientsTo = msg.GetEmailRecipients(
MsgReader.Outlook.Storage.Recipient.RecipientType.To, false, false);
var recipientsCc = msg.GetEmailRecipients(
MsgReader.Outlook.Storage.Recipient.RecipientType.Cc, false, false);
var recipientsBCC = msg.GetEmailRecipients(
MsgReader.Outlook.Storage.Recipient.RecipientType.Bcc, false, false);
var subject = msg.Subject;
sb.AppendLine($" From: {from.DisplayName} {from.Email}");
sb.AppendLine($" Sent: {sentOn.Value}");
sb.AppendLine($" To: {recipientsTo}");
sb.AppendLine($" CC: {recipientsCc}");
sb.AppendLine($" BCC: {recipientsBCC}");
sb.AppendLine($"Subject: {subject}");
sb.AppendLine($" Body:");
sb.AppendLine(msg.BodyText);
File.WriteAllText(Path.Combine(
AppDomain.CurrentDomain.BaseDirectory, "suggestion.txt"),
sb.ToString());
}