Gérer les règles de boîte de réception sur Exchange Server en C#

Microsoft Exchange Server vous permet de définir différentes règles pour la boîte de réception, qui sont appliquées aux messages, telles que le déplacement d’un message vers un dossier, la suppression d’un message, etc. Lorsque vous travaillez avec les services Exchange à partir d’applications .NET , vous devrez peut-être gérer les règles de la boîte de réception par programmation. Dans cet article, vous apprendrez à créer et à mettre à jour des règles de boîte de réception sur MS Exchange Server en C# .NET.

API .NET pour gérer les règles de boîte de réception sur Exchange Server

Pour créer et mettre à jour des règles de boîte de réception sur MS Exchange Server, nous utiliserons Aspose.Email for .NET. L’API facilite le travail en toute transparence avec MS Exchange Server. Vous pouvez soit télécharger la DLL de l’API, soit l’installer à partir de NuGet à l’aide de la commande suivante.

PM> Install-Package Aspose.Email

Créer des règles de boîte de réception sur Exchange Server en C#

Aspose.Email for .NET utilise les services Web Exchange (EWS) pour fonctionner avec les règles de boîte de réception sur Exchange Server. Voici les étapes pour créer des règles de boîte de réception sur Exchange Server en C#.

L’exemple de code suivant montre comment créer une règle de boîte de réception sur Exchange Server en C#.

// Définir l'URL, le nom d'utilisateur, le mot de passe et le domaine du service Web Exchange Server
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Connectez-vous au serveur Exchange
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");

// Créer une nouvelle règle
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";

// Ajouter des conditions
RulePredicates newRules = new RulePredicates();
// Définir la condition : le sujet contient la chaîne "ABC"
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;

// Ajouter des actions
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;

// Créer une règle
client.CreateInboxRule(rule);

Mettre à jour les règles de boîte de réception sur Exchange Server en C#

Voici les étapes pour récupérer et mettre à jour une règle de boîte de réception existante sur Exchange Server en C#.

  • Tout d’abord, connectez-vous à Exchange Server et obtenez l’instance du client EWS dans un objet IEWSClient.
  • Ensuite, appelez la méthode IEWSClient.GetInboxRules() pour obtenir toutes les règles dans un tableau InboxRule.
  • Parcourez chaque InboxRule du tableau.
  • Filtrez les règles requises en fonction de certaines conditions.
  • Mettez à jour les conditions ou les actions de la règle.
  • Enfin, appelez la méthode IEWSClient.UpdateInboxRule(InboxRule) pour mettre à jour la règle de boîte de réception.

L’exemple de code suivant montre comment mettre à jour une règle de boîte de réception sur MS Exchange Server en C#.

// Définir l'URI de la boîte aux lettres, le nom d'utilisateur, le mot de passe et le domaine
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Connectez-vous au serveur Exchange
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);

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

// Obtenir toutes les règles de la boîte de réception
InboxRule[] inboxRules = client.GetInboxRules();

// Parcourez chaque règle
foreach (InboxRule inboxRule in inboxRules)
{
    if (inboxRule.DisplayName == "Message from client ABC")
    {
        // Mettre à jour la règle
        inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
        client.UpdateInboxRule(inboxRule);
    }
}

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser Aspose.Email for .NET sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à utiliser les règles de boîte de réception sur Microsoft Exchange Server à partir d’applications .NET. À l’aide d’exemples de code, vous avez vu comment ajouter ou mettre à jour des règles de boîte de réception sur Exchange Server en C#. En outre, vous pouvez explorer la documentation pour en savoir plus sur Aspose.Email for .NET. De plus, vous pouvez poster vos questions sur notre forum.

Voir également