Работа с папками на сервере Exchange

Вывод всех папок с сервера

API Aspose.Email предоставляет возможность подключаться к Exchange Server и перечислять все папки и подпапки. Вы также можете рекурсивно получать все подпапки из каждой папки. Кроме того, она позволяет перечислять папки с постраничным выводом из клиента Exchange, используя Exchange Web Service (EWS). Эта статья показывает, как получить все подпапки с сервера Exchange и извлекать папки с постраничной навигацией.

Следующий фрагмент кода показывает, как вывести список папок с сервера Exchange.

Получить информацию о типе папки с помощью EWS

Этот ExchangeFolderType перечислитель, предоставляемый ExchangeFolderInfo класс можно использовать для получения информации о типе папки. Пример кода ниже.

Перечисление папок с поддержкой постраничного вывода с использованием EWS

Следующий фрагмент кода показывает, как использовать поддержку постраничного вывода с EWS.

Доступ к пользовательским папкам или подпапкам почтового ящика

IEWSClient позволяет разработчикам получать доступ к любой пользовательской папке или подпапке из ящика.  FolderExists() метод IEWSClient возвращает URI указанной пользовательской папки/подпапки, который затем можно использовать для доступа к целевой папке. В следующем примере пользовательская папка с именем "TestInbox", созданная под INBOX, открывается, и из этой папки выводятся все сообщения. Чтобы выполнить эту задачу, выполняются следующие шаги:

  1. Инициализируйте IEWSClient объект, предоставив действительные учетные данные.
  2. Получите доступ к почтовому ящику по умолчанию.
  3. Получите доступ к родительской папке, которая в этом примере является INBOX. Эта родительская папка также может быть пользовательской папкой.
  4. Использовать FolderExists() метод для поиска указанной пользовательской подпапки, например, "TestInbox". Он вернёт URI "TestInbox".
  5. Используйте этот URI для доступа ко всем сообщениям в этой пользовательской папке.

Следующий фрагмент кода показывает, как получить доступ к пользовательским папкам почтового ящика или подпапкам с помощью EWS.

Список публичных папок

Microsoft Exchange Server позволяет пользователям создавать публичные папки и размещать в них сообщения. Чтобы сделать это через ваше приложение, используйте EWSClient класс для подключения к серверу Exchange и чтения и загрузки сообщений и постов из публичных папок. Следующий фрагмент кода показывает, как читать все публичные папки и подпапки, а также перечислять и скачивать найденные в них сообщения. Этот пример работает только с Microsoft Exchange Server 2007 и выше, поскольку только они поддерживают EWS.

Синхронизация элементов папки

API Aspose.Email IEWSClient предоставляет возможность синхронизации содержимого папки Exchange. SyncFolder метод, предоставляемый IEWSClient класс, который можно использовать для синхронизации информации о папке. Следующий фрагмент кода показывает, как синхронизировать информацию о папке Exchange.

Получение прав для папок Exchange

Пользователям присваиваются разрешения на публичные папки в Exchange Server, что ограничивает/определяет уровень доступа пользователя к этим папкам. Класс ExchangeFolderPermission предоставляет набор свойств разрешений для папок Exchange, таких как уровень разрешения, возможность создавать элементы, удалять элементы и выполнять другие задачи, указанные в свойствах разрешения. Разрешения можно получить с помощью GetFolderPermissions() метод IEWSClient. Эта статья показывает, как получить права, примененные к публичной папке, для всех пользователей, имеющих доступ к общим папкам.

Для выполнения этой задачи:

  1. Инициализируйте IEWSClient.
  2. Используйте ListPublicFolders для получения списка всех публичных папок
  3. Получить разрешения, связанные с папкой, используя GetFolderPermissions() метод

Следующий фрагмент кода показывает, как использовать IEWSClient класс для получения прав, примененных к папке.

Создание папок и подпапок

API Aspose.Email предоставляет возможность создавать папки в почтовом ящике Exchange. CreateFolder метод IEWSClient может быть использовано для этой цели. Чтобы создать папку в почтовом ящике сервера Exchange, можно выполнить следующие шаги.

  1. Создайте экземпляр IEWSClient.
  2. Установите set_UseSlashAsFolderSeparator свойство по необходимости. Если установить значение true, приложение будет рассматривать символ "/" как разделитель папок, и подпапка будет создана после этого слеша.
  3. Используйте CreateFolder метод для создания папки.

Следующий фрагмент кода показывает, как создавать папки и подпапки.

Резервное копирование папок Exchange в PST

Часто пользователи хотят создать резервную копию всех или некоторых папок почтового ящика. Aspose.Email предоставляет возможность создавать резервную копию всех или выбранных папок почтового ящика Exchange в файл PST. Чтобы выполнить резервное копирование папок сервера Exchange, можно следовать следующим шагам.

  1. Создайте экземпляр IEWSClient.
  2. Добавьте информацию о требуемой папке в ExchangeFolderInfoCollection
  3. Использовать IEWSClient->Backup метод для экспорта содержимого папки в PST.

Следующий фрагмент кода показывает, как резервировать папки Exchange в PST.