Trabajar con la Configuración del Usuario en el Servidor

Gestionando la Configuración del Usuario

La API de Aspose.Email se puede utilizar para gestionar la configuración del usuario en un servidor de Exchange con la clase EWSClient. Esta clase utiliza los servicios web de Exchange, que solo están disponibles en Exchange Server 2007 y versiones posteriores. En este artículo, veremos cómo leer, crear, actualizar y eliminar configuraciones de usuario en Exchange Server 2010. Se requiere Microsoft Exchange Server 2010 Service Pack 1 para todas las funciones descritas en este artículo. El siguiente fragmento de código muestra cómo conectarse a Exchange Server 2010 en todos los ejemplos de este artículo.

// 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);

Lectura de la Configuración del Usuario

Para obtener la información de configuración del usuario de una carpeta específica del servidor de Exchange:

  1. Conéctese al servidor de Exchange utilizando IEWSClient.
  2. Llame al método GetUserConfiguration() para obtener la configuración del usuario para una carpeta.
  3. Muestre las propiedades de configuración del usuario como ID, nombre y elementos del diccionario como pares clave-valor.

El siguiente fragmento de código muestra cómo leer la configuración del usuario.

// 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());
}

Creación de Configuraciones de Usuario

Para crear la configuración del usuario para una carpeta específica en el servidor de Exchange:

  1. Conéctese al servidor de Exchange utilizando IEWSClient.
  2. Llame al método CreateUserConfiguration() para crear la configuración del usuario para una carpeta.

El siguiente fragmento de código muestra cómo crear configuraciones de usuario.

// 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());
}

Actualización de la Configuración del Usuario

Para actualizar la configuración del usuario para una carpeta específica en el servidor de Exchange:

  1. Conéctese al servidor de Exchange utilizando IEWSClient.
  2. Llame al método UpdateUserConfiguration() para actualizar la configuración del usuario para una carpeta.

El siguiente fragmento de código muestra cómo actualizar la configuración del usuario.

// 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);

Eliminación de la Configuración del Usuario

Para eliminar la configuración del usuario para una carpeta específica en el servidor de Exchange:

  1. Conéctese al servidor de Exchange utilizando IEWSClient.
  2. Llame al método DeleteUserConfiguration() para eliminar la configuración del usuario para una carpeta.

El siguiente fragmento de código muestra cómo eliminar la configuración del usuario.

// 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());
}