对于NET的FOSS是一个MIT许可证,无依赖性C#库用于与Microsoft Outlook.msg文件,复合文件二进制 (CFB)容器和EML消息工作.添加一个NuGet包并立即开始阅读,创建和处理电子邮件信息而不需要安装微软Outlook或任何专有运行时间.
库提供两个访问层次.在低级,CfbReader和 CfbWriter给你完全控制 CFB 二进制容器横向目录条款,阅读和写存储节点和流数据,并检查原始部门布局.MsgReader和MsgWriter处理MSG格式的CFB上方,暴露了MAPI属性流,接收者表和附件子存放. 在高级中, MapiMessage让您从头开始创建新的消息,通过内置的MIME实现,读取,体,发送者和接件人,管理附加文件以及转换MS G 和 EMLIME格形式.
该库针对 .NET 8.0 或更新的版本,没有本地依赖性,因此适用于Windows,Linux,macOS,Docker容器和无服务器功能. 更多功能和商业支持请参阅Aspose.Email for .NET.
CfbReader.FromFile()、CfbReader.FromStream() 或 new CfbReader(data) 从文件路径、流或字节数组加载现有的 CFB 容器。IterStorages()、IterStreams()、IterChildren() 和 IterTree() 迭代存储、流和子项。ResolvePath(names) 在嵌套的存储层次结构中导航,以通过名称链定位特定的流。CfbDocument 编程构建 CFB 文档,并通过 CfbWriter.ToBytes() 或 CfbWriter.WriteFile() 将其序列化为字节或文件。CfbStorage 和 CfbStream 节点附加到任意存储节点。.msg 文件的容器格式.MsgReader.FromFile()或 MsgReader.FromStream()打开Outlook MSG 文件,并访问底层MAPI属性流,接收者记录和附件子存储.MsgWriter.ToBytes()或 MsgWriter.WriteFile().从一个MsgDocument生成MS G文件.MsgStorage,MsgStream和 MsgStorage.FindStream()阅读顶级属性流,命名的属性的数据.MsgStorage.FindStream()和 MsgStorage.FindStorage()来查找命名的子条目..msg 文件,并提取元数据或附件..msg文件并将其传送到基于Outlook的邮件系统.MapiMessage.Create(subject, body) 构建完整的电子邮件,设置 SenderName、SenderEmailAddress 和 HtmlBody。AddRecipient() 附加 To、Cc 和 Bcc 收件人,并提供电子邮件地址和显示名称。AddAttachment() 添加文件和流附件,或直接使用 Filename、MimeType、ContentId 和 Data 构造 MapiAttachment 对象。message.Save() 或 message.Save(stream) 序列化,并使用 MapiMessage.FromFile() 或 MapiMessage.FromStream() 重新加载。message.Attachments,并将每个 attachment.Data 保存到磁盘。message.Subject、message.Body、message.SenderEmailAddress 和 message.Recipients。MapiMessage.LoadFromEml(stream)解析一个标准的 .eml 文件 (RFC 5322 / MIME) 到一个完整的MapiMessage 对象.MapiMessage 串行回到 MIME格式,使用 message.SaveToEml() 或 message.SaveToEml(stream)..eml和 .msg文件的混合档次标准化为一个格式..eml 固定件,并确认它们能够在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(message.Subject);
建立一个完整的电子邮件,发送者,收件人和附件,然后写入MSG文件.
using System.IO;
using Aspose.Email.Foss.Msg;
var message = MapiMessage.Create("Hello", "Body");
message.SenderName = "Alice";
message.SenderEmailAddress = "alice@example.com";
message.AddRecipient("bob@example.com", "Bob");
using var attachmentStream = new MemoryStream("abc"u8.ToArray());
message.AddAttachment("note.txt", attachmentStream, "text/plain");
using var output = File.Create("hello.msg");
message.Save(output);
运载一个标准的.eml文件并使用内置MIME解析器将其保存为Outlook .msg file.
using System.IO;
using Aspose.Email.Foss.Msg;
using var input = File.OpenRead("message.eml");
var message = MapiMessage.LoadFromEml(input);
using var msgOutput = File.Create("message.msg");
message.Save(msgOutput);
using var emlOutput = File.Create("roundtrip.eml");
message.SaveToEml(emlOutput);