Создание, обновление или удаление задач на сервере MS Exchange в C#

Различные люди создают список действий, которые необходимо выполнить, который также известен как список дел. Такие списки обычно создаются на бумаге, в текстовом редакторе, электронных таблицах и т. д. Microsoft также предоставляет вам возможность создавать списки дел и управлять ими, называя их задачами. В этой статье мы расскажем, как добавлять, обновлять или удалять задачи на MS Exchange Server программно на C#.

.NET API для управления задачами на сервере MS Exchange

Для создания, обновления или удаления задач на сервере MS Exchange мы будем использовать Aspose.Email для .NET. Это многофункциональный API для создания клиентских приложений электронной почты и работы с MS Exchange Server без написания сложного кода. Вы можете либо скачать библиотеку DLL API, либо установить ее из NuGet с помощью следующей команды.

PM> Install-Package Aspose.Email

Создать задачу на MS Exchange Server в C#

Ниже приведены шаги для создания задач на сервере MS Exchange в C# .NET.

  • Сначала подключитесь к Exchange Server и получите экземпляр клиента EWS в объект IEWSClient.
  • Затем создайте экземпляр класса ExchangeTask.
  • Установите свойства задач, такие как тема, статус и т. д.
  • Наконец, создайте задачу, используя метод IEWSClient.CreateTask(IEWSClient.MailboxInfo.TasksUri, ExchangeTask).

В следующем примере кода показано, как создавать задачи на сервере MS Exchange с помощью C#.

// Создайте экземпляр класса 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);

Задача обновления на сервере MS Exchange в C#

Вы также можете получить доступ к существующим задачам на сервере MS Exchange Server и обновить их программно, используя C#. Ниже приведены шаги для выполнения этой операции.

В следующем примере кода показано, как обновить задачу на сервере MS Exchange в C#.

// Создание и инициализация учетных данных
var credentials = new NetworkCredential("username", "12345");

// Создайте экземпляр класса 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);

    // Обновить статус задачи
    task.Status = ExchangeTaskStatus.NotStarted;

    // Установите срок выполнения задачи
    task.DueDate = new DateTime(2013, 2, 26);

    // Установить приоритет задачи
    task.Priority = MailPriority.Low;

    // Обновление задачи на бирже
    client.UpdateTask(task);
}

Удалить задачи на сервере MS Exchange в C#

Ниже приведены шаги по удалению задач на сервере MS Exchange в C#.

В следующем примере кода показано, как удалить задачи из MS Exchange Server на C#.

// Создайте экземпляр класса 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);
    }
}

Получите бесплатную лицензию API

Вы можете получить бесплатную временную лицензию для использования Aspose.Email для .NET без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как управлять задачами на сервере Microsoft Exchange. В частности, вы видели, как добавлять, обновлять или удалять задачи на MS Exchange Server программно на C#. Кроме того, вы можете изучить документацию, чтобы узнать больше об Aspose.Email для .NET. Также вы можете задать свои вопросы на нашем форуме.

Смотрите также