Gerenciar regras de caixa de entrada no Exchange Server em C#

Microsoft Exchange Server permite definir regras diferentes para a caixa de entrada, que são aplicadas às mensagens, como mover uma mensagem para uma pasta, excluir uma mensagem, etc. Ao trabalhar com os serviços do Exchange a partir de aplicativos .NET , talvez seja necessário gerenciar as regras da caixa de entrada de forma programática. Neste artigo, você aprenderá como criar e atualizar regras de caixa de entrada no MS Exchange Server em C# .NET.

API .NET para gerenciar regras de caixa de entrada no Exchange Server

Para criar e atualizar regras de caixa de entrada no MS Exchange Server, usaremos Aspose.Email for .NET. A API torna muito mais fácil trabalhar perfeitamente com o MS Exchange Server. Você pode baixar a DLL da API ou instalá-la de NuGet usando o comando a seguir.

PM> Install-Package Aspose.Email

Criar regras de caixa de entrada no Exchange Server em C#

Aspose.Email para .NET usa Exchange Web Services (EWS) para trabalhar com regras de caixa de entrada no Exchange Server. A seguir estão as etapas para criar regras de caixa de entrada no Exchange Server em C#.

O exemplo de código a seguir mostra como criar uma regra de caixa de entrada no Exchange Server em C#.

// Definir URL, nome de usuário, senha e domínio do serviço Web do Exchange Server
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Conecte-se ao Exchange Server
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");

// Criar uma nova regra
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";

// Adicionar condições
RulePredicates newRules = new RulePredicates();
// Definir condição: o assunto contém a string "ABC"
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;

// Adicionar ações
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;

// Criar regra
client.CreateInboxRule(rule);

Atualizar regras de caixa de entrada no Exchange Server em C#

A seguir estão as etapas para buscar e atualizar uma regra de caixa de entrada existente no Exchange Server em C#.

  • Primeiro, conecte-se ao Exchange Server e obtenha a instância do cliente EWS em um objeto IEWSClient.
  • Em seguida, chame o método IEWSClient.GetInboxRules() para obter todas as regras em uma matriz InboxRule.
  • Faça um loop em cada InboxRule na matriz.
  • Filtre as regras necessárias com base em algumas condições.
  • Atualize as condições ou ações da regra.
  • Finalmente, chame o método IEWSClient.UpdateInboxRule(InboxRule) para atualizar a regra de caixa de entrada.

O exemplo de código a seguir mostra como atualizar uma regra de caixa de entrada no MS Exchange Server em C#.

// Definir mailboxURI, nome de usuário, senha e domínio
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Conecte-se ao Exchange Server
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);

Console.WriteLine("Connected to Exchange server");

// Obter todas as regras da caixa de entrada
InboxRule[] inboxRules = client.GetInboxRules();

// Faça um loop em cada regra
foreach (InboxRule inboxRule in inboxRules)
{
    if (inboxRule.DisplayName == "Message from client ABC")
    {
        // Atualizar regra
        inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
        client.UpdateInboxRule(inboxRule);
    }
}

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.Email para .NET sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como trabalhar com regras de caixa de entrada no Microsoft Exchange Server a partir de aplicativos .NET. Com a ajuda de exemplos de código, você viu como adicionar ou atualizar regras de caixa de entrada no Exchange Server em C#. Além disso, você pode explorar a documentação para ler mais sobre o Aspose.Email para .NET. Além disso, você pode postar suas dúvidas em nosso fórum.

Veja também