Работа с пользовательской конфигурацией на сервере
Управление пользовательской конфигурацией
API Aspose.Email может быть использован для управления пользовательской конфигурацией на сервере Exchange с помощью класса EWSClient. Этот класс использует службы веб Exchange, которые доступны только в Exchange Server 2007 и более поздних версиях. В этой статье мы рассмотрим, как читать, создавать, обновлять и удалять пользовательские конфигурации на Exchange Server 2010. Для всех функций, описанных в этой статье, требуется Microsoft Exchange Server 2010 Service Pack 1. Следующий фрагмент кода показывает, как подключиться к Exchange Server 2010 во всех примерах этой статьи.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-C | |
ExchangeTestUser exchangeUser = ExchangeTestUser(u"https://your.exchange.server/ews/Exchange.asmx", u"username", u"password"); | |
const System::String mailboxUri = exchangeUser.MailboxUri; | |
const System::String domain = exchangeUser.Domain; | |
const System::String username = exchangeUser.Name; | |
const System::String password = exchangeUser.Password; | |
System::SharedPtr<System::Net::NetworkCredential> credentials = System::MakeObject<System::Net::NetworkCredential>(username, password, domain); | |
System::SharedPtr<IEWSClient> client = EWSClient::GetEWSClient(mailboxUri, credentials); |
Чтение пользовательской конфигурации
Чтобы получить информацию о пользовательской конфигурации конкретной папки с сервера Exchange:
- Подключитесь к серверу Exchange, используя IEWSClient.
- Вызовите метод GetUserConfiguration(), чтобы получить пользовательскую конфигурацию для папки.
- Отобразите свойства пользовательской конфигурации, такие как ID, имя и элементы словаря в виде пар ключ-значение.
Следующий фрагмент кода показывает, как читать пользовательскую конфигурацию.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
System::Console::WriteLine(u"Connected to Exchange 2010"); | |
try | |
{ | |
// Get the User Configuration for Inbox folder | |
System::SharedPtr<UserConfigurationName> userConfigName = System::MakeObject<UserConfigurationName>(u"inbox.config", client->get_MailboxInfo()->get_InboxUri()); | |
System::SharedPtr<UserConfiguration> userConfig = client->GetUserConfiguration(userConfigName); | |
System::Console::WriteLine(System::String(u"Configuration Id: ") + userConfig->get_Id()); | |
System::Console::WriteLine(System::String(u"Configuration Name: ") + userConfig->get_UserConfigurationName()->get_Name()); | |
System::Console::WriteLine(u"Key value pairs:"); | |
for (auto o : System::IterateOver(userConfig->get_Dictionary()->get_Keys())) | |
{ | |
System::String key = System::ObjectExt::Unbox<System::String>(o); | |
System::Console::WriteLine(key + u": " + System::ObjectExt::ToString(userConfig->get_Dictionary()->idx_get(o))); | |
} | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex.get_Message()); | |
} |
Создание пользовательских конфигураций
Чтобы создать пользовательскую конфигурацию для конкретной папки на сервере Exchange:
- Подключитесь к серверу Exchange, используя IEWSClient.
- Вызовите метод CreateUserConfiguration(), чтобы создать пользовательскую конфигурацию для папки.
Следующий фрагмент кода показывает, как создавать пользовательские конфигурации.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
System::Console::WriteLine(u"Connected to Exchange 2010"); | |
// Create the User Configuration for Inbox folder | |
System::SharedPtr<UserConfigurationName> userConfigName = System::MakeObject<UserConfigurationName>(u"inbox.config", client->get_MailboxInfo()->get_InboxUri()); | |
System::SharedPtr<UserConfiguration> userConfig = System::MakeObject<UserConfiguration>(userConfigName); | |
userConfig->get_Dictionary()->Add(System::ObjectExt::Box<System::String>(u"key1"), System::ObjectExt::Box<System::String>(u"value1")); | |
userConfig->get_Dictionary()->Add(System::ObjectExt::Box<System::String>(u"key2"), System::ObjectExt::Box<System::String>(u"value2")); | |
userConfig->get_Dictionary()->Add(System::ObjectExt::Box<System::String>(u"key3"), System::ObjectExt::Box<System::String>(u"value3")); | |
try | |
{ | |
client->CreateUserConfiguration(userConfig); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex.get_Message()); | |
} |
Обновление пользовательской конфигурации
Чтобы обновить пользовательскую конфигурацию для конкретной папки на сервере Exchange:
- Подключитесь к серверу Exchange, используя IEWSClient.
- Вызовите метод UpdateUserConfiguration(), чтобы обновить пользовательскую конфигурацию для папки.
Следующий фрагмент кода показывает, как обновлять пользовательскую конфигурацию.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-C | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(); | |
System::Console::WriteLine(u"Connected to Exchange 2010"); | |
// Create the User Configuration for Inbox folder | |
System::SharedPtr<UserConfigurationName> userConfigName = System::MakeObject<UserConfigurationName>(u"inbox.config", client->get_MailboxInfo()->get_InboxUri()); | |
System::SharedPtr<UserConfiguration> userConfig = client->GetUserConfiguration(userConfigName); | |
userConfig->set_Id(nullptr); | |
// Update User Configuration | |
userConfig->get_Dictionary()->idx_set(System::ObjectExt::Box<System::String>(u"key1"), System::ObjectExt::Box<System::String>(u"new-value1")); | |
client->UpdateUserConfiguration(userConfig); |
Удаление пользовательской конфигурации
Чтобы удалить пользовательскую конфигурацию для конкретной папки на сервере Exchange:
- Подключитесь к серверу Exchange, используя IEWSClient.
- Вызовите метод DeleteUserConfiguration(), чтобы удалить пользовательскую конфигурацию для папки.
Следующий фрагмент кода показывает, как удалять пользовательскую конфигурацию.
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-C | |
System::SharedPtr<System::Net::NetworkCredential> credentials = System::MakeObject<System::Net::NetworkCredential>(username, password, domain); | |
System::SharedPtr<IEWSClient> client = GetExchangeEWSClient(GetExchangeTestUser()); | |
System::Console::WriteLine(u"Connected to Exchange 2010"); | |
// Delete User Configuration | |
System::SharedPtr<UserConfigurationName> userConfigName = System::MakeObject<UserConfigurationName>(u"inbox.config", client->get_MailboxInfo()->get_InboxUri()); | |
try | |
{ | |
client->DeleteUserConfiguration(userConfigName); | |
} | |
catch (System::Exception& ex) | |
{ | |
System::Console::WriteLine(ex.get_Message()); | |
} |