不同的人创建要执行的活动列表,也称为待办事项列表。此类列表通常是在纸张、文本编辑器、电子表格等上创建的。Microsoft 还为您提供了创建和管理待办事项列表并将其称为任务的功能。在本文中,我们将介绍如何使用 C# 以编程方式在 MS Exchange Server 上添加、更新或删除任务。
- .NET API 用于管理 MS Exchange Server 上的任务
- 使用 C# 在 MS Exchange Server 上创建任务
- 在 C# 中更新 MS Exchange Server 上的任务
- 在 C# 中删除 MS Exchange Server 上的任务
在 MS Exchange Server 上创建和更新任务的 C# API
要在 MS Exchange Server 上创建、更新或删除任务,我们将使用 Aspose.Email for .NET。它是一个功能丰富的 API,用于创建电子邮件客户端应用程序并与 MS Exchange Server 一起工作,而无需编写复杂的代码。您可以 下载 API 的 DLL 或使用以下命令从 NuGet 安装它。
PM> Install-Package Aspose.Email
使用 C# 在 MS Exchange Server 上创建任务
以下是在 C# .NET 中在 MS Exchange Server 上创建任务的步骤。
- 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
- 然后,创建一个 ExchangeTask 类的实例。
- 设置任务的属性,例如主题、状态等。
- 最后,使用 IEWSClient.CreateTask(IEWSClient.MailboxInfo.TasksUri, ExchangeTask) 方法创建任务。
以下代码示例展示了如何使用 C# 在 MS Exchange Server 上创建任务。
// 通过提供凭据创建 EWSClient 类的实例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 创建 Exchange 任务对象
ExchangeTask task = new ExchangeTask();
// 设置任务主题和状态(或其他属性)
task.Subject = "New-Test";
task.Status = ExchangeTaskStatus.InProgress;
// 创建任务
client.CreateTask(client.MailboxInfo.TasksUri, task);
在 C# 中更新 MS Exchange 服务器上的任务
您还可以使用 C# 以编程方式访问和更新 MS Exchange Server 上的现有任务。以下是执行此操作的步骤。
- 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
- 然后,使用 IEWSClient.ListMessages(IEWSClient.MailboxInfo.TasksUri) 方法将任务列表获取到 ExchangeMessageInfoCollection 对象中。
- 循环遍历集合中的每个 ExchangeMessageInfo。
- 使用 IEWSClient.FetchTask(ExchangeMessageInfo.UniqueUri) 方法获取每个 ExchangeTask 并过滤所需的。
- 最后,使用 IEWSClient.UpdateTask(ExchangeTask) 方法编辑属性并更新任务。
以下代码示例显示了如何在 C# 中更新 MS Exchange Server 上的任务。
// 创建和初始化凭据
var credentials = new NetworkCredential("username", "12345");
// 通过提供凭据创建 ExchangeClient 类的实例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 从 Exchange 获取任务信息集合
ExchangeMessageInfoCollection tasks = client.ListMessages(client.MailboxInfo.TasksUri);
// 解析列表中的所有任务
foreach (ExchangeMessageInfo info in tasks)
{
// 使用当前任务信息从交换中获取任务
ExchangeTask task = client.FetchTask(info.UniqueUri);
// 更新任务状态
task.Status = ExchangeTaskStatus.NotStarted;
// 设置任务截止日期
task.DueDate = new DateTime(2013, 2, 26);
// 设置任务优先级
task.Priority = MailPriority.Low;
// 交易所更新任务
client.UpdateTask(task);
}
在 C# 中删除 MS Exchange Server 上的任务
以下是在 C# 中删除 MS Exchange 服务器上的任务的步骤。
- 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
- 然后,使用 IEWSClient.ListMessages(IEWSClient.MailboxInfo.TasksUri) 方法将任务列表获取到 ExchangeMessageInfoCollection 对象中。
- 循环遍历集合中的每个 ExchangeMessageInfo。
- 使用 IEWSClient.FetchTask(ExchangeMessageInfo.UniqueUri) 方法获取每个 ExchangeTask 并过滤所需的。
- 最后,使用 IEWSClient.DeleteItem(ExchangeTask.UniqueUri, DeletionOptions.DeletePermanently) 方法删除任务。
以下代码示例展示了如何在 C# 中从 MS Exchange Server 中删除任务。
// 通过提供凭据创建 ExchangeClient 类的实例
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// 从交换中获取任务集合
ExchangeMessageInfoCollection tasks = client.ListMessages(client.MailboxInfo.TasksUri);
// 解析列表中的所有任务
foreach (ExchangeMessageInfo info in tasks)
{
// 使用当前任务信息从交换中获取任务
ExchangeTask task = client.FetchTask(info.UniqueUri);
// 检查当前任务是否满足条件
if (task.Subject.Equals("test"))
{
// 从交换中删除任务
client.DeleteItem(task.UniqueUri, DeletionOptions.DeletePermanently);
}
}
用于管理 Exchange Server 任务的 C# API - 获取免费许可证
您可以获得 免费临时许可证 在 MS Exchange Server 上处理任务而不受评估限制。
结论
在本文中,您学习了如何在 Microsoft Exchange Server 上管理任务。特别是,您已经了解了如何使用 C# 以编程方式在 MS Exchange Server 上添加、更新或删除任务。此外,您可以浏览 文档 以了解更多关于 Aspose.Email for .NET 的信息。此外,您可以通过我们的 论坛 提问。