Перечисление, управление и резервное копирование папок Exchange Server с помощью EWS

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

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

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

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

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

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

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

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

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

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

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

Получить разрешения папки

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

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

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

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

Создание и управление папками/подпапками

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

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

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

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

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

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

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