I Microsoft Exchange Server är e-postmeddelanden organiserade i olika mappar som inkorg, utkorg, etc. Du kan också skapa dina egna mappar eller undermappar baserat på dina behov. När du arbetar med MS Exchange Server kan du behöva skapa anpassade mappar programmatiskt. I den här artikeln kommer du att lära dig hur du skapar mappar eller undermappar med EWS på MS Exchange Server i C# .NET. Vi kommer också att täcka hur man tar bort en mapp på Exchange Server.
- .NET API för att skapa mappar med EWS på MS Exchange Server
- Skapa en mapp på MS Exchange Server
- Skapa en undermapp på MS Exchange Server
- Ta bort en mapp på MS Exchange Server
C# .NET API för att skapa mappar på MS Exchange Server
För att hantera mappar med EWS på MS Exchange Server kommer vi att använda Aspose.Email for .NET. API:et gör det ganska enklare att arbeta med Exchange-serverns tjänster inifrån .NET-applikationer. Du kan antingen ladda ner API:s DLL eller installera den från NuGet med följande kommando.
PM> Install-Package Aspose.Email
Skapa en mapp på MS Exchange Server i C#
Följande är stegen för att skapa en mapp på MS Exchange Server i C#.
- Anslut till MS Exchange Server och hämta EWS-klientobjektet i IEWSClient.
- Ange namnet på rotmappen och mappen du vill skapa.
- Skapa mapp med metoden IEWSClient.CreateFolder(sträng, sträng).
Följande kodexempel visar hur man skapar en mapp på MS Exchange Server med EWS i C#.
// Skapa en instans av klassen EWSClient genom att ge referenser
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Hämta inkorgs-URI (för att skapa mapp i inkorgen)
string inbox = client.MailboxInfo.InboxUri;
// Ange mappnamn
string folderName1 = "EMAILNET-35054";
try
{
// Skapa mapp
client.UseSlashAsFolderSeparator = true;
client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
// Göra någonting
}
Skapa en undermapp på MS Exchange Server i C#
För att skapa en undermapp måste du först kontrollera om den överordnade mappen finns eller inte. Om det gör det, skapa helt enkelt undermappen, annars skapa den överordnade mappen först. Följande steg visar hur man skapar en undermapp på MS Exchange Server i C#.
- Anslut till MS Exchange Server och hämta EWS-klientobjektet i IEWSClient.
- Ange namnet på rotmappen och undermappen.
- Kontrollera om den överordnade mappen finns med metoden IEWSClient.FolderExists(string, string, ExchangeFolderInfo). Om inte, skapa en.
- Skapa undermapp med metoden IEWSClient.CreateFolder(sträng, sträng).
Följande kodexempel visar hur man skapar en undermapp på MS Exchange Server i C#.
// Skapa en instans av klassen EWSClient genom att ge referenser
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Hämta inkorgs-URI
string inbox = client.MailboxInfo.InboxUri;
// Ange mappnamn
string folderName1 = "EMAILNET-35054";
// Ange namn på undermappen
string subFolderName = "2015";
string folderName2 = folderName1 + "/" + subFolderName;
ExchangeFolderInfo rootFolderInfo = null;
try
{
client.UseSlashAsFolderSeparator = true;
if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
{
// Skapa mapp
rootFolderInfo = client.CreateFolder(inbox, folderName1);
}
// Skapa undermapp
client.CreateFolder(inbox, folderName2);
}
catch
{
// Göra någonting
}
Ta bort en mapp på MS Exchange Server i C#
Följande är stegen för att ta bort en mapp på MS Exchange Server i C#.
- Anslut till MS Exchange Server och hämta EWS-klientobjektet i IEWSClient.
- Kontrollera om mappen finns med metoden IEWSClient.FolderExists(string, string, ExchangeFolderInfo).
- Ta bort mapp med metoden IEWSClient.DeleteFolder(string, bool).
Följande kodexempel visar hur man tar bort en mapp på MS Exchange Server i C#.
// Skapa en instans av klassen EWSClient genom att ge referenser
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");
// Hämta inkorgs-URI
string inbox = client.MailboxInfo.InboxUri;
// Ange mappnamn
string folderName1 = "EMAILNET-35054";
ExchangeFolderInfo rootFolderInfo = null;
try
{
// Kontrollera om mappen finns
if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
{
// Ta bort mapp
client.DeleteFolder(rootFolderInfo.Uri, true);
}
}
catch
{
// Göra någonting
}
Skaffa en gratis API-licens
Du kan få en gratis temporär licens för att använda Aspose.Email för .NET utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har du lärt dig hur du arbetar med mappar på Microsoft Exchange Server med EWS i C#. Med hjälp av kodprover har du sett hur du skapar och tar bort en viss mapp på MS Exchange Server programmatiskt i C#. Dessutom kan du utforska dokumentationen för att läsa mer om Aspose.Email för .NET. Du kan också ställa dina frågor via vårt forum.