彩票走势图

Email 处理控件Aspose.Email 教程(5):在 C# 中使用 MS Exchange Server 上的对话

翻译|使用教程|编辑:胡涛|2022-04-01 16:00:19.590|阅读 124 次

概述:

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

Microsoft Exchange Server上的对话称为线程中的电子邮件消息组。简而言之,一封电子邮件及其所有回复都被称为对话。在本文中,我们将向您展示如何以编程方式在 MS Exchange Server 中处理对话。特别是,您将学习如何在 C# .NET 中查找、复制、移动和删除 MS Exchange Server 上的对话。

Aspose.Email 最新下载

(一) 在 MS Exchange Server 上处理对话的 C# .NET API

为了管理 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 中的文件夹中查找对话的步骤。

  • 首先,使用用户名、密码和域创建并初始化 NetworkCredential对象。
  • 然后, 使用邮箱 URI 和 NetworkCredential 对象初始化IEWSClient 。
  • 调用IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri)方法并在ExchangeConversation数组中获取对话。
  • 最后,遍历数组中的每个ExchangeConversation对象并检索其详细信息。

以下代码示例显示了如何在 C# 中从 MS Exchange Server 中的文件夹中查找对话。

string mailboxUri = "//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# 中复制 MS Exchange Server 上的对话

您还可以将对话从一个文件夹复制到另一个文件夹,而无需编写复杂的代码。为了演示,让我们看看如何在 C# .NET 中将对话从收件箱复制到 Exchange Server 的已删除项目文件夹。

  • 首先,使用用户名、密码和域创建并初始化NetworkCredential对象。
  • 然后, 使用邮箱 URI 和 NetworkCredential 对象初始化IEWSClient 。
  • 调用IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri)方法并在ExchangeConversation数组中获取对话。
  • 循环遍历数组中的每个ExchangeConversation并过滤所需的。
  • 最后使用IEWSClient.CopyConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri)方法复制对话。

以下代码示例显示如何使用 C# .NET 在 MS Exchange Server 中复制对话。

string mailboxUri = "//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# 中移动 MS Exchange 服务器上的对话

在上一节中,我们只是将对话从一个文件夹复制到另一个文件夹。但是,在某些情况下,您可能需要将对话移至特定文件夹。以下是在 C# .NET 中在 MS Exchange Server 中移动对话的步骤。

  • 首先,使用用户名、密码和域创建并初始化NetworkCredential对象。
  • 然后, 使用邮箱 URI 和 NetworkCredential 对象初始化IEWSClient 。
  • 调用IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri)方法并在ExchangeConversation数组中获取对话。
  • 循环遍历数组中的每个ExchangeConversation并过滤所需的。
  • 最后使用IEWSClient.MoveConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri)方法移动对话。

以下代码示例显示了如何使用 C# .NET 在 MS Exchange Server 中移动对话。

string mailboxUri = "//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# 中从 MS Exchange Server 中删除对话。

  • 首先,使用用户名、密码和域创建并初始化NetworkCredential对象。
  • 然后, 使用邮箱 URI 和 NetworkCredential 对象初始化IEWSClient 。
  • 之后,调用IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri)方法并在ExchangeConversation数组中获取对话。
  • 循环遍历数组中的每个ExchangeConversation并过滤所需的。
  • 最后,使用IEWSClient.DeleteConversationItems(ExchangeConversation.ConversationId)方法删除对话。

以下代码示例显示了如何在 C# .NET 中从 MS Exchange Server 中删除对话。

string mailboxUri = "//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# 中删除 MS Exchange Server 上的对话

在本文中,您学习了如何使用 C# 在 Microsoft Exchange Server 中管理对话。您已经了解了如何在 C# 中以编程方式在 MS Exchange Server 上查找、复制、移动和删除对话。此外,您可以浏览 文档 以阅读有关 Aspose.Email for .NET 的更多信息。此外,你还可以将您的需求告知我们!


欢迎下载|体验更多Aspose产品 

获取更多信息请咨询 或 加入Aspose技术交流群(761297826

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP