Gerenciar Configurações de Usuário no Exchange Server com EWS

Aspose.Email for .NET pode ser usado para gerenciar a configuração de usuário em um Exchange Server com o EWSClient classe. Esta classe usa Exchange Web Services, que estão disponíveis apenas no Exchange Server 2007 e versões posteriores. Neste artigo, veremos como ler, criar, atualizar e excluir configurações de usuário no Exchange Server 2010. O Microsoft Exchange Server 2010 Service Pack 1 é necessário para todos os recursos descritos neste artigo. O trecho de código a seguir mostra como conectar ao Exchange Server 2010 em todos os exemplos deste artigo.

private static IEWSClient GetExchangeEWSClient()
{
    const string mailboxUri = "https://outlook.office365.com/ews/exchange.asmx";
    const string domain = @"";
    const string username = @"username@ASE305.onmicrosoft.com";
    const string password = @"password";
    NetworkCredential credentials = new NetworkCredential(username, password, domain);
    IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
    return client;
}

Ler Configurações de Usuário

Para obter as informações da configuração do usuário de uma pasta específica do Exchange Server:

  1. Conectar ao Exchange Server usando o IEWSClient interface.
  2. Chame o IEWSClient.GetUserConfiguration() método para obter a configuração de usuário de uma pasta.
  3. Exiba as propriedades da configuração do usuário, como ID, nome e itens do dicionário como pares chave‑valor.

O trecho de código a seguir mostra como ler a configuração do usuário.


            IEWSClient client = GetExchangeEWSClient();
            Console.WriteLine("Connected to Exchange 2010");

            // Get the User Configuration for Inbox folder
            UserConfigurationName userConfigName = new UserConfigurationName("inbox.config", client.MailboxInfo.InboxUri);
            UserConfiguration userConfig = client.GetUserConfiguration(userConfigName);

            Console.WriteLine("Configuration Id: " + userConfig.Id);
            Console.WriteLine("Configuration Name: " + userConfig.UserConfigurationName.Name);
            Console.WriteLine("Key value pairs:");
            foreach (string key in userConfig.Dictionary.Keys)
            {
                Console.WriteLine(key + ": " + userConfig.Dictionary[key].ToString());
            }

Criar Configurações de Usuário

Para criar a configuração do usuário para uma pasta específica em um Exchange Server:

  1. Conectar ao Exchange Server usando o IEWSClient interface.
  2. Chame o IEWSClient.CreateUserConfiguration() método para criar a configuração de usuário para uma pasta.

O trecho de código a seguir mostra como criar configurações de usuário.


            IEWSClient client = GetExchangeEWSClient();
            Console.WriteLine("Connected to Exchange 2010");

            // Create the User Configuration for Inbox folder
            UserConfigurationName userConfigName = new UserConfigurationName("inbox.config", client.MailboxInfo.InboxUri);
            UserConfiguration userConfig = new UserConfiguration(userConfigName);
            userConfig.Dictionary.Add("key1", "value1");
            userConfig.Dictionary.Add("key2", "value2");
            userConfig.Dictionary.Add("key3", "value3");
            client.CreateUserConfiguration(userConfig);

Atualizar Configurações de Usuário

Para atualizar a configuração do usuário de uma pasta específica no Exchange Server:

  1. Conectar ao Exchange Server usando o IEWSClient interface.
  2. Chame o IEWSClient.UpdateUserConfiguration() método para atualizar a configuração de usuário de uma pasta.

O trecho de código a seguir mostra como atualizar a configuração do usuário.

IEWSClient client = GetExchangeEWSClient();
Console.WriteLine("Connected to Exchange 2010");

// Create the User Configuration for Inbox folder
UserConfigurationName userConfigName = new UserConfigurationName("inbox.config", client.MailboxInfo.InboxUri);
UserConfiguration userConfig = client.GetUserConfiguration(userConfigName);
userConfig.Id = null;

// Update User Configuration
userConfig.Dictionary["key1"] = "new-value1";
client.UpdateUserConfiguration(userConfig);

Excluir Configurações de Usuário

Para excluir a configuração do usuário de uma pasta específica no Exchange Server:

  1. Conectar ao Exchange Server usando o IEWSClient interface.
  2. Chame o IEWSClient.DeleteUserConfiguration() método para excluir a configuração de usuário de uma pasta.

O trecho de código a seguir mostra como excluir a configuração do usuário.

NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange 2010");

// Delete User Configuration
UserConfigurationName userConfigName = new UserConfigurationName("inbox.config", client.MailboxInfo.InboxUri);
client.DeleteUserConfiguration(userConfigName);