Работа с папками на Exchange Server

Список всех папок с сервера

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

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

Получение информации о типе папки с использованием 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 Server и чтения и загрузки сообщений и публикаций из публичных папок. Следующий фрагмент кода показывает, как читать все публичные папки и подпапки, а также перечислять и загружать любые сообщения, найденные в этих папках. Этот пример работает только с Microsoft Exchange Server 2007 или выше, так как только они поддерживают EWS.

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

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

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

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

Чтобы выполнить эту задачу:

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

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

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

Aspose.Email API предоставляет возможность создавать папки в почтовом ящике 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.