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
- Posteingangsregeln auf Exchange Server erstellen
- Posteingangsregeln auf Exchange Server 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.
- Stellen Sie zunächst eine Verbindung mit Exchange Server her und holen Sie die Instanz des EWS-Clients in ein IEWSClient-Objekt.
- Erstellen Sie dann ein Objekt der Klasse InboxRule.
- Legen Sie den Namen der Regel mit der Eigenschaft InboxRule.DisplayName fest.
- Erstellen Sie eine Instanz der Klasse RulePredicates und geben Sie die Bedingungen an.
- Weisen Sie die RulePredicates-Instanz der Eigenschaft InboxRule.Conditions zu.
- Erstellen Sie eine Instanz der Klasse RuleActions und legen Sie Aktionen fest.
- Weisen Sie die RuleAction-Instanz der Eigenschaft InboxRule.Actions zu.
- Rufen Sie schließlich IEWSClient.CreateInboxRule(InboxRule) auf, um die Regel zu erstellen.
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.