Posteingangsregeln auf Exchange Server in C# verwalten

Mit Microsoft Exchange Server können Sie verschiedene Regeln für den Posteingang definieren, die auf die Nachrichten angewendet werden, z. B. das Verschieben einer Nachricht in einen Ordner, das Löschen einer Nachricht usw. Beim Arbeiten mit den Exchange-Diensten aus .NET-Anwendungen heraus , müssen Sie möglicherweise Posteingangsregeln programmgesteuert verwalten. In diesem Artikel erfahren Sie, wie Sie Posteingangsregeln auf MS Exchange Server in C# .NET erstellen und aktualisieren.

.NET-API zum Verwalten von Posteingangsregeln auf Exchange Server

Um Posteingangsregeln auf MS Exchange Server zu erstellen und zu aktualisieren, verwenden wir Aspose.Email for .NET. Die API erleichtert das reibungslose Arbeiten mit MS Exchange Server erheblich. Sie können die DLL der API entweder herunterladen oder sie mit dem folgenden Befehl von NuGet installieren.

PM> Install-Package Aspose.Email

Posteingangsregeln auf Exchange Server in C# erstellen

Aspose.Email für .NET verwendet Exchange Web Services (EWS), um mit Posteingangsregeln auf Exchange Server zu arbeiten. Im Folgenden sind die Schritte zum Erstellen von Posteingangsregeln auf Exchange Server in C# aufgeführt.

Das folgende Codebeispiel zeigt, wie eine Posteingangsregel auf Exchange Server in C# erstellt wird.

// Legen Sie die URL, den Benutzernamen, das Kennwort und die Domäne des Exchange Server-Webdiensts fest
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Verbinden Sie sich mit dem Exchange-Server
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");

// Erstellen Sie eine neue Regel
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";

// Bedingungen hinzufügen
RulePredicates newRules = new RulePredicates();
// Set-Bedingung: Betreff enthält String „ABC“
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;

// Aktionen hinzufügen
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;

// Regel erstellen
client.CreateInboxRule(rule);

Posteingangsregeln auf Exchange Server in C# aktualisieren

Im Folgenden finden Sie die Schritte zum Abrufen und Aktualisieren einer vorhandenen Posteingangsregel auf Exchange Server in C#.

  • Stellen Sie zunächst eine Verbindung mit Exchange Server her und holen Sie die Instanz des EWS-Clients in ein IEWSClient-Objekt.
  • Rufen Sie dann die Methode IEWSClient.GetInboxRules() auf, um alle Regeln in einem Array InboxRule abzurufen.
  • Durchlaufen Sie jede InboxRule im Array.
  • Filtern Sie die erforderlichen Regeln basierend auf einigen Bedingungen.
  • Aktualisieren Sie die Bedingungen oder Aktionen der Regel.
  • Rufen Sie schließlich die Methode IEWSClient.UpdateInboxRule(InboxRule) auf, um die Posteingangsregel zu aktualisieren.

Das folgende Codebeispiel zeigt, wie eine Posteingangsregel auf MS Exchange Server in C# aktualisiert wird.

// Mailbox-URI, Benutzername, Passwort und Domäne festlegen
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";

// Verbinden Sie sich mit dem Exchange-Server
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);

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

// Holen Sie sich alle Posteingangsregeln
InboxRule[] inboxRules = client.GetInboxRules();

// Durchlaufen Sie jede Regel
foreach (InboxRule inboxRule in inboxRules)
{
    if (inboxRule.DisplayName == "Message from client ABC")
    {
        // Regel aktualisieren
        inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
        client.UpdateInboxRule(inboxRule);
    }
}

Holen Sie sich eine kostenlose API-Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Email für .NET ohne Evaluierungseinschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie mit Posteingangsregeln auf Microsoft Exchange Server in .NET-Anwendungen arbeiten. Mithilfe von Codebeispielen haben Sie gesehen, wie Sie Posteingangsregeln auf Exchange Server in C# hinzufügen oder aktualisieren. Außerdem können Sie die Dokumentation durchsuchen, um mehr über Aspose.Email für .NET zu erfahren. Darüber hinaus können Sie Ihre Fragen in unserem Forum posten.

Siehe auch