![Hantera inkorgsregler på Exchange Server i C#](images/aspose-email-exchange.png#center)
Microsoft Exchange Server låter dig definiera olika regler för inkorgen, som tillämpas på meddelanden som att flytta ett meddelande till en mapp, ta bort ett meddelande, etc. När du arbetar med Exchange-tjänsterna inifrån .NET-applikationer , kan du behöva hantera inkorgsregler programmatiskt. I den här artikeln kommer du att lära dig hur du skapar och uppdaterar inkorgsregler på MS Exchange Server i C# .NET.
- .NET API för att hantera inkorgsregler på Exchange Server
- Skapa inkorgsregler på Exchange Server
- Uppdatera inkorgsregler på Exchange Server
C# API för att skapa och uppdatera inkorgsregler på Exchange Server
För att skapa och uppdatera inkorgsregler på MS Exchange Server kommer vi att använda Aspose.Email for .NET. API:et gör det ganska enklare att sömlöst arbeta med MS Exchange Server. Du kan antingen ladda ner API:s DLL eller installera den från NuGet med följande kommando.
PM> Install-Package Aspose.Email
Skapa inkorgsregler på Exchange Server i C#
Aspose.Email för .NET använder Exchange Web Services (EWS) för att arbeta med inkorgsregler på Exchange Server. Följande är stegen för att skapa inkorgsregler på Exchange Server i C#.
- Anslut först till Exchange Server och hämta instansen av EWS-klienten till ett IEWSClient-objekt.
- Skapa sedan ett objekt av klassen InboxRule.
- Ställ in regelns namn med egenskapen InboxRule.DisplayName.
- Skapa en instans av klassen RulePredicates och ange villkoren.
- Tilldela RulePredicates-instans till egenskapen InboxRule.Conditions.
- Skapa en instans av klassen RuleActions och ställ in åtgärder.
- Tilldela RuleAction-instans till egenskapen InboxRule.Actions.
- Till sist, anrop IEWSClient.CreateInboxRule(InboxRule) för att skapa regeln.
Följande kodexempel visar hur man skapar en inkorgsregel på Exchange Server i C#.
// Ställ in Exchange Server-webbtjänstens URL, användarnamn, lösenord och domän
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
// Anslut till Exchange-servern
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");
// Skapa en ny regel
InboxRule rule = new InboxRule();
rule.DisplayName = "Message from client ABC";
// Lägg till villkor
RulePredicates newRules = new RulePredicates();
// Ange villkor: ämnet innehåller strängen "ABC"
newRules.ContainsSubjectStrings.Add("ABC");
newRules.FromAddresses.Add(new MailAddress("administrator@ex2010.local", true));
rule.Conditions = newRules;
// Lägg till åtgärder
RuleActions newActions = new RuleActions();
newActions.MoveToFolder = "120:AAMkADFjMjNjMmNjLWE3NzgtNGIzNC05OGIyLTAwNTgzNjRhN2EzNgAuAAAAAABbwP+Tkhs0TKx1GMf0D/cPAQD2lptUqri0QqRtJVHwOKJDAAACL5KNAAA=AQAAAA==";
rule.Actions = newActions;
// Skapa regel
client.CreateInboxRule(rule);
Uppdatera inkorgsregler på Exchange Server i C#
Följande är stegen för att hämta och uppdatera en befintlig inkorgsregel på Exchange Server i C#.
- Anslut först till Exchange Server och hämta instansen av EWS-klienten till ett IEWSClient-objekt.
- Anropa sedan metoden IEWSClient.GetInboxRules() för att få alla regler i en array InboxRule.
- Gå igenom varje InboxRule i arrayen.
- Filtrera de obligatoriska reglerna baserat på vissa villkor.
- Uppdatera regelns villkor eller åtgärder.
- Anrop slutligen metoden IEWSClient.UpdateInboxRule(InboxRule) för att uppdatera inkorgsregeln.
Följande kodexempel visar hur man uppdaterar en inkorgsregel på MS Exchange Server i C#.
// Ställ in mailboxURI, användarnamn, lösenord och domän
string mailboxURI = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
// Anslut till Exchange-servern
NetworkCredential credential = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.GetEWSClient(mailboxURI, credential);
Console.WriteLine("Connected to Exchange server");
// Få alla regler för inkorgen
InboxRule[] inboxRules = client.GetInboxRules();
// Gå igenom varje regel
foreach (InboxRule inboxRule in inboxRules)
{
if (inboxRule.DisplayName == "Message from client ABC")
{
// Uppdatera regeln
inboxRule.Conditions.FromAddresses[0] = new MailAddress("administrator@ex2010.local", true);
client.UpdateInboxRule(inboxRule);
}
}
C# API för att hantera inkorgsregler på Exchange Server - Skaffa en gratis licens
Du kan få en gratis temporär licens för att hantera inkorgsregler på MS Exchanger Server utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du arbetar med inkorgsregler på Microsoft Exchange Server från .NET-applikationer. Med hjälp av kodexempel har du sett hur du lägger till eller uppdaterar inkorgsregler på Exchange Server i C#. Dessutom kan du utforska dokumentationen för att läsa mer om Aspose.Email för .NET. Dessutom kan du skicka dina frågor till vårt forum.