Skapa och ta bort mappar på MS Exchange Server i C#

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.

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#.

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#.

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#.

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.

Se även