提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|行业资讯|编辑:胡涛|2023-09-25 13:47:41.770|阅读 30 次
概述:在本文中,我们将探讨如何利用强大的 .NET 库通过 POP3、IMAP、EWS、Graph API 在 C# 中检索电子邮件,并以 pst 文件为例从各种格式的离线邮箱存储中检索电子邮件。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
构建电子邮件处理应用程序时,关键步骤之一是设置可靠且快速的功能来从收件箱检索消息。在本文中,我们将探讨如何利用强大的 .NET 库通过 POP3、IMAP、EWS、Graph API 在 C# 中检索电子邮件,并以 pst 文件为例从各种格式的离线邮箱存储中检索电子邮件。本文附有清晰的代码示例,您可以使用它们来测试该库的功能。
Aspose.Email 是用于轻松的开发 email 功能的应用程序的一组控件,基于 ASP.NET 的Web应用、Web服务和Windows 应用。支持 Outlook PST, EML, MSG, and MHT 格式. 允许开发者直接与 SMTP, POP, FTP, 和 MS Exchange 服务器进行工作。支持邮件合并、行事历、定制邮件标题和内容、嵌入文件等,Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
要从 C# 中的服务器或邮箱存储中提取消息,我们将使用Aspose.Email for .NET。这是一个功能强大的 API 库,允许开发人员在其 .NET 应用程序中使用电子邮件。它提供了一套全面的功能,可在各种场景中处理电子邮件。它简化了创建、操作和转换电子邮件、处理电子邮件附件、日历、联系人等以及从邮箱中提取消息并根据需要管理其内容的工作。下载DLL 或使用以下命令从NuGet安装后,您可以轻松地将 API 实现到您的项目中:
PM> Install-Package Aspose.Email
通过 POP3 协议,电子邮件可以从服务器下载到本地系统,从而轻松访问和管理。其功能可以轻松集成到您的应用程序中。Aspose.Email for .NET 类用于创建 POP3 客户端对象以进行消息操作。
以下代码示例和步骤演示了如何使用 POP3 客户端连接到 POP3 邮件服务器、检索邮件列表以及获取邮件内容:
using Aspose.Email; using Aspose.Email.Clients.Pop3; using (var client = new Pop3Client("pop3.server.com", "username", "password")) { client.SecurityOptions = SecurityOptions.Auto; foreach (var messageInfo in pop3Client.ListMessages()) { var eml = client.FetchMessage(messageInfo.SequenceNumber); } }
您可以进一步调整代码以满足您的特定需求,并以所需的方式将获取的消息内容与 .NET 库的其他功能结合使用。
IMAP 是另一种流行的协议,它提供了一种更加同步和通用的电子邮件访问方法。与 POP3 不同,IMAP 将电子邮件保留在服务器上,同时允许您从多个设备管理和组织它们。在一台设备上所做的更改会反映在所有设备上,从而提供无缝且一致的电子邮件体验。
Aspose.Email for .NET 为您提供类及其属性来连接到 IMAP 邮件服务器并管理文件夹中的电子邮件。以下代码示例及其步骤将向您展示如何从服务器获取消息:
using Aspose.Email; using Aspose.Email.Clients.Imap; using (var client = new ImapClient("imap.server.com", "username", "password")) { client.SecurityOptions = SecurityOptions.Auto; client.SelectFolder("Inbox"); foreach (var messageInfo in client.ListMessages()) { var eml = client.FetchMessage(messageInfo.UniqueId); } }
对于与 Microsoft Exchange 服务器交互的应用程序,Aspose.Email for .NET 提供对 EWS 的支持。该协议有助于高级操作,包括电子邮件检索、日历管理和联系人同步。EWS 对于需要与 Microsoft Exchange 环境集成的应用程序特别有利。
为了连接到 Exchange 服务器并检索电子邮件,我们将使用.NET API 的下面提供的代码示例演示了如何建立与邮箱的连接、列出收件箱文件夹中的邮件,然后获取每封电子邮件。此过程使开发人员能够在其 .NET 应用程序中以编程方式高效地访问和操作电子邮件数据。
using Aspose.Email; using Aspose.Email.Clients.Exchange.WebService; using (var client = EWSClient.GetEWSClient("//outlook.office365.com/ews/exchange.asmx", "UserName", "Password")) { foreach(var msgInfo in client.ListMessages(client.MailboxInfo.InboxUri) { var eml = client.FetchMessage(msgInfo.UniqueUri); } }
根据应用程序的要求,您可以对获取的 eml 变量执行其他处理。这可能包括解析电子邮件标头、提取附件、分析电子邮件正文或使用我们功能丰富的 API 进行任何其他相关操作。
Aspose.Email for .NET 使开发人员能够利用 Microsoft Graph API 的强大功能进行电子邮件检索。通过集成 Graph API,您的应用程序可以访问统一端点以检索电子邮件、日历和联系人。当您希望创建全面的多功能应用程序时,这种集成非常有价值。
下面给出的代码示例和步骤演示了如何使用 Microsoft Graph API 处理电子邮件文件夹和消息。它创建一个图形客户端,检索“收件箱”文件夹,并迭代该文件夹中的消息以获取每条消息。
using Aspose.Email; using Aspose.Email.Clients.Graph; // Create a Graph client using (var client = GraphClient.GetClient(tokenProvider, "tenant ID")) { var folder = client.ListFolders().FirstOrDefault(folder => folder.DisplayName.Equals("Inbox")); foreach (var msgInfo in client.ListMessages(folder.ItemId)) { var msg = client.FetchMessage(msgInfo.ItemId); } }
我们全面的 C# 库使您能够创建具有离线邮箱存储功能的应用程序。通过利用此功能,您可以在本地下载和存储电子邮件,即使没有互联网连接也能确保访问。这对于需要在旅途中无缝访问电子邮件的用户特别有用。
该库适用于不同格式的独立存储,例如 PST、MBOX、OLM、TGZ,但在本文中,我们将考虑从 PST 获取电子邮件的示例。
为了实现此功能并离线访问邮箱信息,我们将使用库的以下是代码示例以及从 pst 文件获取消息的步骤:
首先通过调用方法并将 PST 文件的路径作为参数传递来创建新的个人存储对象。
通过对个人存储对象的方法来初始化名为“folder”的变量。传递字符串“Inbox”作为参数来指定要检索的文件夹的名称。
使用 foreach 循环迭代“folder”对象的方法返回的集合中的每个“msgInfo”对象。
在循环内,通过调用个人存储对象上的属性作为参数传递,以指定要提取的消息。
该代码将为文件夹中的每条消息执行步骤 3 和 4 中指定的操作。
using Aspose.Email.Mapi; using Aspose.Email.Storage.Pst; using (var pst = PersonalStorage.FromFile("storage.pst")) { var folder = pst.RootFolder.GetSubfolder("Inbox"); foreach(var msgInfo in folder.EnumerateMessages()) { var msg = pst.ExtractMessage(msgInfo.EntryIdString); } }
在本文中,我们学习了如何利用Aspose.Email for .NET的强大功能进行电子邮件检索。通过支持 POP3、IMAP、EWS、Graph API 和离线邮箱存储,该库使您能够自定义应用程序的功能以满足特定需求。无论您是在开发客户端应用程序、集成工具还是自定义解决方案,我们的 .NET API 都能为您提供创建无缝且高效的消息处理体验的工具。您可以使用文档探索 Aspose.Email 的其他功能。
欢迎下载|体验更多Aspose文档管理产品
获取更多信息请咨询 或 加入Aspose技术交流群(761297826)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
在工业自动化、数据交换和智能制造的领域,提到“OPC Client”这个词,很多人可能会有些迷惑,不知道它究竟是什么意思,或者它和其他技术之间有什么区别。其实,OPC Client是工业控制系统中非常重要的一部分,它的作用和功能在工业自动化系统中扮演着关键角色。为了帮助大家更好地理解OPC Client,今天我们将从零开始,详细解释它是什么、如何工作以及它的应用。
在这篇博文中,我们将探讨如何使用 C# 删除 Excel 中的空白行和空白列。
在本文中,您将学习如何使用Spire.PDF for .NET在 C# 中向 PDF 文档添加页码。
HOOPS Luminate不仅提升了TopSolid产品的可视化效果,还帮助其减少了在渲染开发上的投入,使其能够专注于自身的核心竞争力——提供一体化的CAD/CAM/PDM解决方案。
Aspose.Email是用于开发 email 功能的应用程序的控件,支持 Outlook PST, EML, MSG和MHT 格式,允许开发者直接与 SMTP、POP、FTP以及 MS Exchange 服务器进行工作。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢