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:
- Conectar ao Exchange Server usando o IEWSClient interface.
- Chame o IEWSClient.GetUserConfiguration() método para obter a configuração de usuário de uma pasta.
- 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:
- Conectar ao Exchange Server usando o IEWSClient interface.
- 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:
- Conectar ao Exchange Server usando o IEWSClient interface.
- 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:
- Conectar ao Exchange Server usando o IEWSClient interface.
- 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);