Les conversations sur Microsoft Exchange Server sont appelées le groupe de messages électroniques dans un fil. En termes simples, un e-mail et toutes ses réponses sont connus pour être une conversation. Dans cet article, nous allons vous montrer comment travailler avec des conversations dans MS Exchange Server par programmation. En particulier, vous apprendrez à rechercher, copier, déplacer et supprimer des conversations sur MS Exchange Server en C# .NET.
- API C# .NET pour travailler avec des conversations sur MS Exchange Server
- Rechercher des conversations sur MS Exchange Server en C#
- Copier une conversation sur MS Exchange Server en C#
- Déplacer une conversation sur MS Exchange Server en C#
- Supprimer une conversation sur MS Exchange Server en C#
API C# .NET pour travailler avec des conversations sur MS Exchange Server
Pour gérer les conversations sur Microsoft Exchange Server, nous utiliserons Aspose.Email for .NET. Il s’agit d’une API puissante qui fournit une gamme de fonctionnalités pour implémenter des applications client de messagerie. En outre, il vous permet d’accéder de manière transparente à divers services de MS Exchange Server. 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
Rechercher des conversations sur MS Exchange Server en C#
Voici les étapes pour rechercher des conversations à partir d’un dossier dans MS Exchange Server en C#.
- Tout d’abord, créez et initialisez l’objet NetworkCredential avec le nom d’utilisateur, le mot de passe et le domaine.
- Ensuite, initialisez IEWSClient avec l’URI de la boîte aux lettres et l’objet NetworkCredential.
- Appelez la méthode IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) et obtenez les conversations dans un tableau ExchangeConversation.
- Enfin, parcourez chaque objet ExchangeConversation du tableau et récupérez ses détails.
L’exemple de code suivant montre comment rechercher des conversations à partir d’un dossier dans MS Exchange Server en C#.
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// Connectez-vous au serveur MS Exchange
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Obtenez des conversations depuis la boîte de réception
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
// Afficher toutes les conversations
foreach (ExchangeConversation conversation in conversations)
{
// Afficher les propriétés de conversation comme l'identifiant et le sujet
Console.WriteLine("Topic: " + conversation.ConversationTopic);
Console.WriteLine("Flag Status: " + conversation.FlagStatus.ToString());
Console.WriteLine();
}
Copier une conversation sur MS Exchange Server en C#
Vous pouvez également copier les conversations d’un dossier à un autre sans écrire de code complexe. À titre de démonstration, voyons comment copier des conversations de la boîte de réception vers le dossier des éléments supprimés d’Exchange Server dans C# .NET.
- Tout d’abord, créez et initialisez l’objet NetworkCredential avec le nom d’utilisateur, le mot de passe et le domaine.
- Ensuite, initialisez IEWSClient avec l’URI de la boîte aux lettres et l’objet NetworkCredential.
- Appelez la méthode IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) et obtenez les conversations dans un tableau ExchangeConversation.
- Parcourez chaque ExchangeConversation dans le tableau et filtrez celui ou ceux requis.
- Enfin, copiez la conversation à l’aide de la méthode IEWSClient.CopyConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri).
L’exemple de code suivant montre comment copier une conversation dans MS Exchange Server à l’aide de C# .NET.
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// Connectez-vous au serveur MS Exchange
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Obtenez des conversations
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Copiez l'élément de conversation en fonction de certaines conditions
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.CopyConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Copied the conversation item to another folder");
}
}
Déplacer une conversation sur MS Exchange Server en C#
Dans la section précédente, nous avons simplement copié des conversations d’un dossier à un autre. Cependant, dans certains cas, vous devrez peut-être déplacer une conversation vers un dossier particulier. Voici les étapes pour déplacer des conversations dans MS Exchange Server en C# .NET.
- Tout d’abord, créez et initialisez l’objet NetworkCredential avec le nom d’utilisateur, le mot de passe et le domaine.
- Ensuite, initialisez IEWSClient avec l’URI de la boîte aux lettres et l’objet NetworkCredential.
- Appelez la méthode IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) et obtenez les conversations dans un tableau ExchangeConversation.
- Parcourez chaque ExchangeConversation dans le tableau et filtrez celui ou ceux requis.
- Enfin, déplacez la conversation à l’aide de la méthode IEWSClient.MoveConversationItems(ExchangeConversation.ConversationId, client.MailboxInfo.DeletedItemsUri).
L’exemple de code suivant montre comment déplacer une conversation dans MS Exchange Server à l’aide de C# .NET.
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// Connectez-vous au serveur MS Exchange
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Obtenez des conversations
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Déplacer l'élément de conversation en fonction de certaines conditions
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.MoveConversationItems(conversation.ConversationId, client.MailboxInfo.DeletedItemsUri);
Console.WriteLine("Moved the conversation item to another folder");
}
}
Supprimer une conversation sur MS Exchange Server en C#
Dernier point mais non le moindre, voyons comment supprimer une conversation de MS Exchange Server en C#.
- Tout d’abord, créez et initialisez l’objet NetworkCredential avec le nom d’utilisateur, le mot de passe et le domaine.
- Ensuite, initialisez IEWSClient avec l’URI de la boîte aux lettres et l’objet NetworkCredential.
- Après cela, appelez la méthode IEWSClient.FindConversations(IEWSClient.MailboxInfo.InboxUri) et obtenez les conversations dans un tableau ExchangeConversation.
- Parcourez chaque ExchangeConversation dans le tableau et filtrez le ou les requis.
- Enfin, supprimez une conversation à l’aide de la méthode IEWSClient.DeleteConversationItems(ExchangeConversation.ConversationId).
L’exemple de code suivant montre comment supprimer une conversation de MS Exchange Server dans C# .NET.
string mailboxUri = "https://ex2010/ews/exchange.asmx";
string username = "test.exchange";
string password = "pwd";
string domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
// Connectez-vous au serveur MS Exchange
IEWSClient client = EWSClient.GetEWSClient(mailboxUri, credentials);
Console.WriteLine("Connected to Exchange");
// Obtenez des conversations
ExchangeConversation[] conversations = client.FindConversations(client.MailboxInfo.InboxUri);
foreach (ExchangeConversation conversation in conversations)
{
Console.WriteLine("Topic: " + conversation.ConversationTopic);
// Supprimer l'élément de conversation en fonction de certaines conditions
if (conversation.ConversationTopic.Contains("test email") == true)
{
client.DeleteConversationItems(conversation.ConversationId);
Console.WriteLine("Deleted the conversation item");
}
}
Obtenez une licence API gratuite
Vous pouvez obtenir une licence temporaire gratuite pour utiliser Aspose.Email for .NET sans limitations d’évaluation.
Conclusion
Dans cet article, vous avez appris à gérer les conversations dans Microsoft Exchange Server à l’aide de C#. Vous avez vu comment rechercher, copier, déplacer et supprimer des conversations sur MS Exchange Server par programmation en C#. De plus, vous pouvez explorer la documentation pour en savoir plus sur Aspose.Email for .NET. Vous pouvez également poser vos questions via notre forum.