
Un fil de conversation est une séquence de réponses à un message avec un sujet de fil commun. Les messages au sein d’une conversation peuvent être affichés de différentes manières, telles que dans un ordre hiérarchique ou chronologique. Pour afficher un fil de message, les applications de messagerie identifient les réponses aux messages. Les formats de fichiers e-mail les plus populaires offrent cette fonctionnalité.
Les fils de conversation permettent aux lecteurs de comprendre rapidement la structure globale d’une conversation, de mettre en évidence certains points des conversations et d’analyser des informations importantes.
Dans cet article, nous allons nous concentrer sur l’utilisation des fonctionnalités PST/MAPI d’Aspose.Email pour trouver et grouper des messages par conversation. Pour ce faire, nous allons mettre en œuvre un code d’exemple qui parcourra les messages dans un dossier donné, les regroupera par conversation, puis enregistrera chaque conversation dans un répertoire distinct sur le disque.
- Propriétés MAPI utilisées pour prendre en charge le fil de conversation
- API C# .NET pour lire les fichiers PST Outlook
- Grouper les messages dans PST par fil de conversation
Propriétés MAPI utilisées pour prendre en charge le fil de conversation
Puisque les messages dans le pst sont stockés sous forme d’un ensemble de propriétés MAPI, nous devons définir les propriétés MAPI associées à la collecte des réponses aux messages.
Cela est décrit dans la section Microsoft Docs.
Comme on peut le voir, la propriété PidTagConversationIndex permet de déterminer avec précision si un message est associé à une certaine conversation ou non. La propriété indique également la position relative du message au sein d’un fil de conversation. Visitez la page pour plus d’informations sur la propriété PidTagConversationIndex
. L’en-tête est les premiers 22 octets de la valeur de la propriété PidTagConversationIndex
. C’est une portion de données pour déterminer si le message appartient à un certain fil de conversation.
API C# .NET pour lire les fichiers PST Outlook
Pour lire les fichiers PST, nous allons utiliser Aspose.Email pour .NET. C’est une bibliothèque incroyable pour mettre en œuvre des applications de traitement des e-mails en utilisant .NET. En utilisant la bibliothèque, vous pouvez facilement gérer de nombreux formats de fichiers e-mail différents. Vous pouvez installer Aspose.Email pour .NET via NuGet ou télécharger sa DLL.
PM> Install-Package Aspose.Email
Grouper les messages dans PST par fil de conversation
Pour grouper les messages dans PST par conversations, nous avons besoin de ce qui suit :
- Tout d’abord, créer une classe
ConversationThread
. C’est un conteneur pour grouper les messages au sein d’une conversation. - Ensuite, créer une méthode pour rechercher et grouper les messages par conversation.
- Enfin, créer une méthode pour enregistrer le fil de conversation dans un répertoire séparé.
Créer une classe ConversationThread
Elle aura les propriétés suivantes.
Id
: représentation en chaîne de l’en-tête de l’index de conversation (22 octets).Messages
: liste des ID de message qui se trouvent dans le fil de conversation.
Créer une méthode pour rechercher et grouper les messages par conversation
Après avoir créé la classe ConversationThread
, nous pouvons nous concentrer sur l’écriture d’une méthode qui fait ce qui suit :
- Parcourir tous les messages dans le dossier. Pour des raisons de performance, nous allons uniquement lire l’identifiant du message en utilisant la méthode EnumerateMessagesEntryId.
- Pour chaque message, nous allons extraire la propriété
PidTagConversationIndex
en utilisant la méthode ExtractProperty. - Les messages qui ont les mêmes premiers 22 octets de la valeur de la propriété
PidTagConversationIndex
appartiennent à la même conversation. Nous allons ajouter l’ID du message à la liste représentée par la propriétéMessages
de l’instance correspondante de la classeConversationThread
. - Retourner la liste des instances de
ConversationThread
.
Créer une méthode pour enregistrer le fil de conversation dans un répertoire séparé
Enfin, sauvegardons les conversations dans les répertoires.
Pour chaque instance de ConversationThread
, faites ce qui suit :
- Créer un répertoire séparé avec le nom du sujet du fil.
- Énumérer les identifiants dans la propriété
ConversationThread.Messages
, pour chaque identifiant extraire un message en utilisant la méthode ExtractMessage et sauvegarder le message dans le répertoire créé en utilisant la méthode Save.
Obtenez une licence API gratuite
Vous pouvez utiliser Aspose.Email pour .NET sans limitations d’évaluation en utilisant une licence temporaire gratuite.
Conclusion
Cet article montre comment utiliser Aspose.Email pour rechercher des messages liés aux conversations dans PST. En explorant davantage la documentation PidTagConversationIndex, vous pouvez également compliquer l’implémentation en ajoutant, par exemple, un tri hiérarchique des messages de conversation. Vous pouvez en savoir plus sur Aspose.Email en utilisant la documentation. En cas de questions, vous pouvez poster sur notre forum.