Работа с папками на 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, и отображаются все сообщения из этой пользовательской папки. Для выполнения этой задачи выполните следующие шаги:
- Инициализируйте объект IEWSClient , предоставив действительные учетные данные.
- Доступ к папке по умолчанию.
- Доступ к родительской папке, которая в этом примере является INBOX. Эта родительская папка также может быть пользовательской папкой.
- Используйте FolderExists() для поиска указанной пользовательской подпапки, например “TestInbox”. Это вернет URI “TestInbox”.
- Используйте этот 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. Эта статья показывает, как получить разрешения, примененные к публичной папке для всех пользователей, которые имеют доступ к общим папкам.
Чтобы выполнить эту задачу:
- Инициализируйте EWSClient.
- Используйте ListPublicFolders, чтобы получить список всех публичных папок
- Извлеките разрешения, связанные с папкой, с помощью метода GetFolderPermisssions()
Следующий фрагмент кода показывает, как использовать класс EWSClient для получения разрешений, примененных к папке.
Создание папок и подпапок
Aspose.Email API предоставляет возможность создавать папки в почтовом ящике Exchange. Метод CreateFolder класса IEWSClient можно использовать для этой цели. Для создания папки в почтовом ящике Exchange можно использовать следующие шаги.
- Создайте экземпляр IEWSClient.
- Установите свойство UseSlashAsFolderSeparator по мере необходимости. Если установлено в true, приложение будет рассматривать “Slash” как разделитель папок, и подпапка будет создана после косой черты.
- Используйте метод CreateFolder, чтобы создать папку.
Следующий фрагмент кода показывает, как создавать папки и подпапки.
Резервное копирование папок Exchange в PST
Часто бывает так, что пользователи могут захотеть сделать резервную копию всех или некоторых папок почтового ящика. Aspose.Email предоставляет возможность резервного копирования всех или определенных папок почтового ящика Exchange в PST. Эта статья описывает резервное копирование папок Exchange в PST с примером кода. Чтобы сделать резервную копию папок Exchange сервера, можно следовать следующим шагам.
- Инициализируйте IEWSClient с учетными данными пользователя
- Добавьте информацию о требуемой папке в ExchangeFolderInfoCollection
- Используйте метод Backup клиента для экспорта содержимого папки в PST
Следующий фрагмент кода показывает, как резервировать папки exchange в PST.