翻译|使用教程|编辑:胡涛|2022-04-01 16:00:19.590|阅读 114 次
概述:
# 31款JAVA开发必备控件和工具 # 界面/文档管理/报表/IDE等4000款产品火热销售中 >>
相关链接:
Microsoft Exchange Server上的对话称为线程中的电子邮件消息组。简而言之,一封电子邮件及其所有回复都被称为对话。在本文中,我们将向您展示如何以编程方式在 MS Exchange Server 中处理对话。特别是,您将学习如何在 C# .NET 中查找、复制、移动和删除 MS Exchange Server 上的对话。
为了管理 Microsoft Exchange Server 上的对话,我们将使用 Aspose.Email for .NET。它是一个强大的 API,提供了一系列功能来实现电子邮件客户端应用程序。此外,它还允许您无缝访问 MS Exchange Server 的各种服务。您可以 下载 API 的 DLL 或 使用以下命令从NuGet安装它。
PM> Install-Package Aspose.Email
以下是在 C# 中从 MS Exchange Server 中的文件夹中查找对话的步骤。
以下代码示例显示了如何在 C# 中从 MS Exchange Server 中的文件夹中查找对话。
string mailboxUri = "https://ex2010/ews/exchange.asmx"; string username = "test.exchange"; string password = "pwd"; string domain = "ex2010.local"; NetworkCredential credentials = new NetworkCredential(username, password, domain); // Connect to MS Exchange Server IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials); Console.WriteLine("Connected to Exchange"); // Get conversations from inbox ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri); // Show all conversations foreach (ExchangeConversation conversation in conversations) { // Display conversation properties like Id and Topic Console.WriteLine("Topic: " + conversation.ConversationTopic); Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString()); Console.WriteLine(); }
您还可以将对话从一个文件夹复制到另一个文件夹,而无需编写复杂的代码。为了演示,让我们看看如何在 C# .NET 中将对话从收件箱复制到 Exchange Server 的已删除项目文件夹。
以下代码示例显示如何使用 C# .NET 在 MS Exchange Server 中复制对话。
string mailboxUri = "https://ex2010/ews/exchange.asmx"; string username = "test.exchange"; string password = "pwd"; string domain = "ex2010.local"; NetworkCredential credentials = new NetworkCredential(username, password, domain); // Connect to MS Exchange Server IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials); Console.WriteLine("Connected to Exchange"); // Get conversations ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri); foreach (ExchangeConversation conversation in conversations) { Console.WriteLine("Topic: " + conversation.ConversationTopic); // Copy the conversation item based on some condition if (conversation.ConversationTopic.Contains("test email") == true) { client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri); Console.WriteLine("Copied the conversation item to another folder"); } }
在上一节中,我们只是将对话从一个文件夹复制到另一个文件夹。但是,在某些情况下,您可能需要将对话移至特定文件夹。以下是在 C# .NET 中在 MS Exchange Server 中移动对话的步骤。
以下代码示例显示了如何使用 C# .NET 在 MS Exchange Server 中移动对话。
string mailboxUri = "https://ex2010/ews/exchange.asmx"; string username = "test.exchange"; string password = "pwd"; string domain = "ex2010.local"; NetworkCredential credentials = new NetworkCredential(username, password, domain); // Connect to MS Exchange Server IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials); Console.WriteLine("Connected to Exchange"); // Get conversations ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri); foreach (ExchangeConversation conversation in conversations) { Console.WriteLine("Topic: " + conversation.ConversationTopic); // Move the conversation item based on some condition if (conversation.ConversationTopic.Contains("test email") == true) { client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri); Console.WriteLine("Moved the conversation item to another folder"); } }
最后但并非最不重要的一点,让我们看看如何在 C# 中从 MS Exchange Server 中删除对话。
以下代码示例显示了如何在 C# .NET 中从 MS Exchange Server 中删除对话。
string mailboxUri = "https://ex2010/ews/exchange.asmx"; string username = "test.exchange"; string password = "pwd"; string domain = "ex2010.local"; NetworkCredential credentials = new NetworkCredential(username, password, domain); // Connect to MS Exchange Server IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials); Console.WriteLine("Connected to Exchange"); // Get conversations ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri); foreach (ExchangeConversation conversation in conversations) { Console.WriteLine("Topic: " + conversation.ConversationTopic); // Delete the conversation item based on some condition if (conversation.ConversationTopic.Contains("test email") == true) { client.DeleteConversationItems(conversation.ConversationId); Console.WriteLine("Deleted the conversation item"); } }
在本文中,您学习了如何使用 C# 在 Microsoft Exchange Server 中管理对话。您已经了解了如何在 C# 中以编程方式在 MS Exchange Server 上查找、复制、移动和删除对话。此外,您可以浏览 文档 以阅读有关 Aspose.Email for .NET 的更多信息。此外,你还可以将您的需求告知我们!
欢迎下载|体验更多Aspose产品
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com