Créer et supprimer des dossiers sur MS Exchange Server en C#

Dans Microsoft Exchange Server, les e-mails sont organisés dans différents dossiers tels que la boîte de réception, la boîte d’envoi, etc. Vous pouvez également créer vos propres dossiers ou sous-dossiers en fonction de vos besoins. Lorsque vous travaillez avec MS Exchange Server, vous devrez peut-être créer des dossiers personnalisés par programmation. Dans cet article, vous apprendrez à créer des dossiers ou des sous-dossiers avec EWS sur MS Exchange Server en C# .NET. Nous verrons également comment supprimer un dossier sur Exchange Server.

API C# .NET pour créer des dossiers sur MS Exchange Server

Pour gérer les dossiers avec EWS sur MS Exchange Server, nous utiliserons Aspose.Email for .NET. L’API facilite le travail avec les services du serveur Exchange à partir des applications .NET. Vous pouvez soit télécharger la DLL de l’API, soit l’installer à partir de NuGet à l’aide de la commande suivante.

PM> Install-Package Aspose.Email

Créer un dossier sur MS Exchange Server en C#

Voici les étapes pour créer un dossier sur MS Exchange Server en C#.

  • Connectez-vous à MS Exchange Server et obtenez l’objet client EWS dans IEWSClient.
  • Spécifiez le nom du dossier racine et le dossier que vous souhaitez créer.
  • Créez un dossier à l’aide de la méthode IEWSClient.CreateFolder(string, string).

L’exemple de code suivant montre comment créer un dossier sur MS Exchange Server avec EWS en C#.

// Créer une instance de la classe EWSClient en donnant des informations d'identification
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Obtenir l'URI de la boîte de réception (pour créer un dossier dans la boîte de réception)
string inbox = client.MailboxInfo.InboxUri;

// Spécifiez le nom du dossier
string folderName1 = "EMAILNET-35054";

try
{
    // Créer le dossier
    client.UseSlashAsFolderSeparator = true;
    client.CreateFolder(client.MailboxInfo.InboxUri, folderName1);
}
catch
{
    // Faire quelque chose
}

Créer un sous-dossier sur MS Exchange Server en C#

Pour créer un sous-dossier, vous devez d’abord vérifier si le dossier parent existe ou non. Si c’est le cas, créez simplement le sous-dossier, sinon créez d’abord le dossier parent. Les étapes suivantes montrent comment créer un sous-dossier sur MS Exchange Server en C#.

L’exemple de code suivant montre comment créer un sous-dossier sur MS Exchange Server en C#.

// Créer une instance de la classe EWSClient en donnant des informations d'identification
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Obtenir l'URI de la boîte de réception
string inbox = client.MailboxInfo.InboxUri;

// Spécifiez le nom du dossier
string folderName1 = "EMAILNET-35054";

// Spécifiez le nom du sous-dossier
string subFolderName = "2015";
string folderName2 = folderName1 + "/" + subFolderName;

ExchangeFolderInfo rootFolderInfo = null; 

try
{
    client.UseSlashAsFolderSeparator = true;
    if (!client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // Créer le dossier
        rootFolderInfo = client.CreateFolder(inbox, folderName1);
    }

    // Créer un sous-dossier
    client.CreateFolder(inbox, folderName2);
}
catch
{
    // Faire quelque chose
}

Supprimer un dossier sur MS Exchange Server en C#

Voici les étapes pour supprimer un dossier sur MS Exchange Server en C#.

L’exemple de code suivant montre comment supprimer un dossier sur MS Exchange Server en C#.

// Créer une instance de la classe EWSClient en donnant des informations d'identification
IEWSClient client = EWSClient.GetEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// Obtenir l'URI de la boîte de réception
string inbox = client.MailboxInfo.InboxUri;

// Spécifiez le nom du dossier
string folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{
    // Vérifier si le dossier existe
    if (client.FolderExists(inbox, folderName1, out rootFolderInfo))
    {
        // Supprimer le dossier
        client.DeleteFolder(rootFolderInfo.Uri, true);
    }
}
catch
{
    // Faire quelque chose
}

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite pour utiliser Aspose.Email for .NET sans limitation d’évaluation.

Conclusion

Dans cet article, vous avez appris à utiliser des dossiers sur Microsoft Exchange Server avec EWS en C#. À l’aide d’exemples de code, vous avez vu comment créer et supprimer un dossier particulier sur MS Exchange Server par programmation en C#. En outre, vous pouvez explorer la documentation pour en savoir plus sur Aspose.Email for .NET. Vous pouvez également poser vos questions via notre forum.

Voir également