彩票走势图

Email 处理控件Aspose.Email 教程(10):使用 C# 在 MS Exchange Server 上创建、更新或删除任务

翻译|使用教程|编辑:胡涛|2022-04-18 11:46:22.773|阅读 205 次

概述:在本文中,我们将介绍如何使用 C# 以编程方式在 MS Exchange Server 上添加、更新或删除任务。

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

相关链接:

不同的人创建要执行的活动列表,也称为待办事项列表。此类列表通常在纸张、文本编辑器、电子表格等上创建。Microsoft 还为您提供了创建和管理待办事项列表并将其称为任务的功能。在本文中,我们将介绍如何使用 C# 以编程方式在 MS Exchange Server 上添加、更新或删除任务。

Aspose.Email 最新下载

(一) .NET API 用于管理 MS Exchange Server 上的任务

在 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 上创建任务。

// Create instance of EWSClient class by giving credentials
IEWSClient client = EWSClient.GetEWSClient("//outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Create Exchange task object
ExchangeTask task = new ExchangeTask();

// Set task subject and status (or other properties)
task.Subject = "New-Test";
task.Status = ExchangeTaskStatus.InProgress;

// Create task
client.CreateTask(client.MailboxInfo.TasksUri, task);
(三) 在 C# 中更新 MS Exchange 服务器上的任务

您还可以使用 C# 以编程方式访问和更新 MS Exchange Server 上的现有任务。以下是执行此操作的步骤。

  • 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
  • 然后,使用IEWSClient.ListMessages(IEWSClient.MailboxInfo.TasksUri)方法将任务列表获取到ExchangeMes sageInfoCollection 对象中。
  • 循环遍历集合中的每个ExchangeMes sageInfo。
  • 使用IEWSClient.FetchTask(ExchangeMessageInfo.UniqueUri)方法获取每个ExchangeTask并过滤所需的。
  • 最后,使用IEWSClient.UpdateTask(ExchangeTask)方法编辑属性并更新任务。

以下代码示例显示了如何在 C# 中更新 MS Exchange Server 上的任务。

// Create and initialize credentials
var credentials = new NetworkCredential("username", "12345");

// Create instance of ExchangeClient class by giving credentials
IEWSClient client = EWSClient.GetEWSClient("//outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Get tasks info collection from exchange
ExchangeMessageInfoCollection tasks = client.ListMessages(client.MailboxInfo.TasksUri);

// Parse all the tasks in the list
foreach (ExchangeMessageInfo info in tasks)
{

// Fetch task from exchange using current task info
ExchangeTask task = client.FetchTask(info.UniqueUri);

// Update the task status
task.Status = ExchangeTaskStatus.NotStarted;

// Set the task due date
task.DueDate = new DateTime(2013, 2, 26);

// Set task priority
task.Priority = MailPriority.Low;

// Update task on exchange
client.UpdateTask(task);
}
(四) 在 C# 中删除 MS Exchange Server 上的任务

以下是在 C# 中删除 MS Exchange 服务器上的任务的步骤。

  • 首先,连接到 Exchange Server 并将 EWS 客户端的实例放入 IEWSClient 对象中。
  • 然后,使用IEWSClient.ListMessages(IEWSClient.MailboxInfo.TasksUri)方法将任务列表获取到ExchangeMes sageInfoCollection 对象中
  • 循环遍历集合中的每个ExchangeMes sageInfo。
  • 使用IEWSClient.FetchTask(ExchangeMessageInfo.UniqueUri)方法获取每个ExchangeTask并过滤所需的。
  • 最后,使用IEWSClient.DeleteItem(ExchangeTask.UniqueUri, DeletionOptions.DeletePermanently)方法删除任务。

以下代码示例展示了如何在 C# 中从 MS Exchange Server 中删除任务。


// Create instance of ExchangeClient class by giving credentials
IEWSClient client = EWSClient.GetEWSClient("//outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Get tasks collection from exchange
ExchangeMessageInfoCollection tasks = client.ListMessages(client.MailboxInfo.TasksUri);

// Parse all the tasks in the list
foreach (ExchangeMessageInfo info in tasks)
{
// Fetch task from exchange using current task info
ExchangeTask task = client.FetchTask(info.UniqueUri);

// Check if the current task fulfills the criteria
if (task.Subject.Equals("test"))
{
// Delete task from exchange
client.DeleteItem(task.UniqueUri, DeletionOptions.DeletePermanently);
}
}


结论

在本文中,您学习了如何在 Microsoft Exchange Server 上管理任务。特别是,您已经了解了如何使用 C# 以编程方式在 MS Exchange Server 上添加、更新或删除任务。此外,您还可以浏览 文档 以阅读有关 Aspose.Email for .NET 的更多信息。此外,您可以通过在线客服或加入群聊提出您的问题。


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

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

标签:

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


为你推荐

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


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP