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

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

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

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

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

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

Копирование сообщения в другую папку

Aspose.Email API позволяет копировать сообщение из одной папки в другую с использованием метода CopyItem. Перегруженная версия этого метода возвращает уникальный URI скопированного сообщения, как показано в этой статье.

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

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

Получение разрешений для папок Exchange

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

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

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

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

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

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

  1. Создайте экземпляр IEWSClient.
  2. Установите свойство UseSlashAsFolderSeparator по мере необходимости. Если установлено в true, приложение будет рассматривать “Slash” как разделитель папок, и подпапка будет создана после косой черты.
  3. Используйте метод CreateFolder, чтобы создать папку.

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

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

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

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

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