没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2024-07-10 10:53:32.733|阅读 51 次
概述: 在本文中,我们将探讨如何使用渐进式 C# 库以及代码示例和步骤轻松高效地将 EML 导入 PST。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
将 EML 消息导入 PST 文件是一项常见要求,尤其是对于在电子邮件客户端之间迁移或存档电子邮件以进行存储和备份的用户。 PST 格式保留了内容的结构、格式和附件,使其适合在 Outlook 应用程序中无缝集成和管理。
这种专有的 Microsoft 文件格式的主要优势是能够创建电子邮件数据的本地存档,从而可以离线管理和访问电子邮件、联系人和其他相关信息。 在本文中,我们将探讨如何使用渐进式 C# 库以及代码示例和步骤轻松高效地将 EML 导入 PST。
Aspose.Email 是用于轻松的开发 email 功能的应用程序的一组控件,基于 ASP.NET 的Web应用、Web服务和Windows 应用。支持 Outlook PST, EML, MSG, and MHT 格式. 允许开发者直接与 SMTP, POP, FTP, 和 MS Exchange 服务器进行工作。支持邮件合并、行事历、定制邮件标题和内容、嵌入文件等,Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
Aspose.Email for .NET是一个强大且多功能的 API,它提供了广泛的功能,可用于在 .NET 应用程序中处理电子邮件和邮件服务器。该 API 可与流行的电子邮件协议和格式无缝集成,使开发人员能够轻松创建和操作电子邮件。
Aspose.Email 的一个显著特点是它广泛支持在不同格式之间转换电子邮件,包括将 EML 转换为 PST。通过利用 Aspose.Email 提供的丰富类和方法,开发人员可以执行复杂的电子邮件相关任务,例如处理附件、管理文件夹以及在各种格式之间转换电子邮件。在深入研究代码之前,您需要将该库集成到您的 C# 项目中。您可以通过从 Aspose 网站下载或使用NuGet轻松获取它。
Install-Package Aspose.Email
一旦该库成为您的项目的一部分,您就可以开始编码了。
Aspose.Email 综合 API 提供了简单直观的代码示例和将 EML 消息添加到 PST 文件的步骤:
using (var pst = PersonalStorage.Create("test.pst", FileFormatVersion.Unicode)) { var inboxFolder = pst.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox); var msg = MapiMessage.Load("test.eml", new EmlLoadOptions()); inboxFolder.AddMessage(msg); }
结果,创建了一个名为“test.pst”的新个人存储文件,从文件“test.eml”加载的消息被添加到收件箱文件夹,并可供进一步操作或存储。
Aspose.Email 可以将文件夹中的一组消息添加到 PST 文件中。FolderInfo类的AddMessages方法允许您将多条 EML 消息导入存储文件中的收件箱文件夹。以下代码示例将向您展示如何在项目中实现此功能:
using (var pst = PersonalStorage.Create("test.pst", FileFormatVersion.Unicode)) { var inboxFolder = pst.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox); inboxFolder.AddMessages(new MapiMessageEnumerator("PathToFolder")); }
在这里,我们利用“MapiMessageEnumerator”遍历源文件夹中的 EML 文件并将它们添加到 PST 文件中。
使用 Aspose.Email,您可以定义实现 IEnumerable 接口的“MapiMessageEnumerator”类。此类允许迭代 MapiMessage 对象集合,表示电子邮件消息,以 .eml 文件形式存储在指定文件夹中。MapiMessageEnumerator 中的 Enumerator 嵌套类用作迭代器,将 EML 文件加载为 MapiMessage 对象并管理迭代过程。它具有迭代文件、处理资源和重置枚举器的方法。
以下代码示例将向您展示如何以编程方式遍历 MapiMessages 集合:
public class MapiMessageEnumerator : IEnumerable<MapiMessage> { private readonly string folderPath; public MapiMessageEnumerator(string folderPath) { this.folderPath = folderPath; } public IEnumerator<MapiMessage> GetEnumerator() { return new Enumerator(folderPath); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } private class Enumerator : IEnumerator<MapiMessage> { private readonly string folderPath; private IEnumerator<string> fileEnumerator; public Enumerator(string folderPath) { this.folderPath = folderPath; Reset(); } public MapiMessage Current { get; private set; } object IEnumerator.Current { get { return Current; } } public void Dispose() { fileEnumerator.Dispose(); Current?.Dispose(); } public bool MoveNext() { while (fileEnumerator.MoveNext()) { var filePath = fileEnumerator.Current; try { Current?.Dispose(); // Dispose previous MailMessage if any Current = MapiMessage.Load(filePath, new EmlLoadOptions()); return true; } catch (Exception ex) { // Log or handle the error Console.WriteLine($"Failed to parse message: {ex.Message}"); } } return false; } public void Reset() { fileEnumerator?.Dispose(); fileEnumerator = Directory.EnumerateFiles(folderPath, "*.eml").GetEnumerator(); Current = null; } } }
总之,无论您是在电子邮件客户端之间迁移还是存档电子邮件数据以进行存储和备份,Aspose.Email for .NET 都提供了可靠且功能丰富的解决方案,用于将 EML 文件转换为 PST 格式,使其成为一个高效而直接的过程。借助直观的代码示例和全面的文档,开发人员可以毫不费力地将这一基本功能实现到他们的项目中。
欢迎下载|体验更多Aspose文档管理产品
获取更多信息请咨询 或 加入Aspose技术交流群(761297826)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@obta.cn
在当前追求敏捷交付与安全合规的双重挑战下,技术团队常面临困境:代码质量分析报告繁杂,难以定位关键风险;工具链数据分散,追溯合规证据费时费力。开发测试平台Parasoft DTP作为智能质量中枢,凭借三大核心技术优势,为工程团队提供精准、可操作、端到端的质量洞察。以下是其解决质量管控难题的关键能力:
TestComplete是一款优秀的UI测试解决方案,支持跨平台自动化测试,通过模块化脚本设计和低代码可视化工具提升测试效率与覆盖率。其优势包括减少重复劳动、支持非技术人员参与测试,适用于医疗、金融、保险等行业,帮助团队克服资源限制,确保软件兼容性与稳定性。
活字格作为一款AI智驱型低代码开发平台,能够为企业带来全新的应用开发体验,欢迎下载产品体验!
CodeRush 25.1 新推 AI 双引擎 AiGen(语音/文字生成与修改代码)和 AiFind(智能代码搜索),直接在 Visual Studio 环境中响应,免除窗口切换与手动操作,让开发者更专注核心问题。
专业的电子表格控件,无需MS Excel也可满足一切Excel表格功能。
Aspose.Words for .NET无需Microsoft Word也可在任何平台上满足Word文档的一切操作需求。
Aspose.PDF for .NETPDF文档创建组件,无需Adobe Acrobat,也可以在任何平台上操作PDF文档。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@obta.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢