Déplacer le courrier électronique vers un dossier dans Microsoft Exchange Server à l'aide de C#

Microsoft Exchange Server est une plate-forme de collaboration largement utilisée qui fournit des services de messagerie, de gestion des contacts, de calendrier et d’autres services. Dans le post précédent, nous vous avons montré comment accéder et lire les e-mails de MS Exchange Server par programmation dans une application .NET. Cependant, vous devrez peut-être également copier des e-mails d’un dossier à un autre sur Exchange Server. Pour y parvenir, cet article montre comment déplacer des e-mails vers un dossier particulier sur MS Exchange Server en C# .NET.

API C# .NET pour déplacer des e-mails sur Microsoft Exchange Server

Pour déplacer les e-mails sur MS Exchange Server, nous utiliserons Aspose.Email for .NET. L’API fournit des moyens simples de se connecter et de travailler avec MS Exchange Server. Vous pouvez l’installer via NuGet ou télécharger sa DLL.

PM> Install-Package Aspose.Email

Déplacer les e-mails vers un dossier sur MS Exchange Server en C#

Voici les étapes pour déplacer les e-mails vers un dossier particulier sur MS Exchange Server en C#.

L’exemple de code suivant montre comment déplacer un e-mail vers un dossier sur MS Exchange Server en C# .NET.

try
{
    // 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");

    // Appelez la méthode ListMessages pour répertorier les informations sur les messages de la boîte de réception
    ExchangeMessageInfoCollection msgCollection = client.ListMessages(client.MailboxInfo.InboxUri);

    // Parcourez la collection pour obtenir l'URI du message
    foreach (ExchangeMessageInfo msgInfo in msgCollection)
    {
        if (msgInfo.From.Address.Contains("jhon.vick"))
        {
            String strMessageURI = msgInfo.UniqueUri;

            // Copier dans un dossier particulier
            string newMessageUri = client.CopyItem(strMessageURI, client.MailboxInfo.DeletedItemsUri);
        }
    }                
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

Déplacer un nouvel e-mail vers un dossier sur MS Exchange Server

Vous pouvez également déplacer un e-mail nouvellement créé vers un dossier particulier dans MS Exchange Server. Voici les étapes pour effectuer cette opération.

L’exemple de code suivant montre comment déplacer un nouveau message électronique vers un dossier dans MS Exchange Server.

try
{
    // 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");

    // Créer un message
    MailMessage message = new MailMessage("from@domain.com", "to@domain.com", "EMAILNET-34997 - " + Guid.NewGuid().ToString(), "EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");

    // Obtenir l'URI du message
    string messageUri = client.AppendMessage(message);

    // Copier le message
    string newMessageUri = client.CopyItem(messageUri, client.MailboxInfo.OutboxUri);
}
catch (Exception ex)
{
    Console.WriteLine(ex.Message);
}

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 à déplacer des e-mails vers un dossier particulier dans Microsoft Exchange Server à l’aide de C#. De plus, vous avez vu comment déplacer un message électronique nouvellement créé vers un dossier spécifique dans Exchange Server. 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