Analyse de l’historique de téléchargement de message pour un compte POP3
Cette rubrique décrit la structure de l’objet BLOB POP3 qui représente l’historique de téléchargement des messages d’un compte POP3, pour identifier les messages qui ont été téléchargés ou supprimés sur ce compte.
Pourquoi analyser l’historique de téléchargement des messages ?
Le fournisseur POP (Post Office Protocol) pour Outlook permet aux utilisateurs de récupérer et de télécharger de nouveaux messages électroniques sur leur appareil local, puis de laisser ou de supprimer ces messages sur le serveur de messagerie. Lorsque le client de messagerie recherche les nouveaux messages à télécharger, il doit être en mesure d’identifier et de télécharger uniquement les nouveaux messages pour cette boîte de réception. Pour ce faire, le client de messagerie utilise d’abord la commande UIDL (Liste d’ID unique) pour obtenir un mappage de chaque message qui a été remis à cette boîte de réception à un identificateur unique (UID). Le client obtient également l’historique de téléchargement des messages pour les messages qui ont été téléchargés ou supprimés pour la boîte de réception sur ce client. À l’aide de la carte UID des messages et de l’historique de téléchargement, le client peut ensuite identifier les messages absents de l’historique comme nouveaux et, par conséquent, doivent être téléchargés.
Pour obtenir l’historique de téléchargement des messages pour une boîte de réception :
Suivez les étapes décrites dans Localisation de l’historique de téléchargement des messages pour un compte POP3 pour rechercher la propriété PidTagAttachDataBinary , qui contient un objet BLOB (Binary Large Object) qui représente l’historique des messages d’un compte POP3.
Lisez cette rubrique, qui décrit la structure de l’objet BLOB et présente un exemple d’objet BLOB pour identifier les messages qui ont été téléchargés ou supprimés pour la boîte de réception du compte POP3.
Structure POP BLOB
La structure POP BLOB, comme décrit dans le tableau 1, commence par deux champs, Version et Count, suivis d’un nombre count de balises de ressource, chacun d’entre eux se terminant par une valeur Null.
Tableau 1. Structure de l’objet BLOB qui représente l’historique de téléchargement des messages d’un compte POP3
Champ dans BLOB | Size | Description |
---|---|---|
Version |
2 octets |
Doit être 3 (PBLOB_VERSION_NUM). |
Count |
2 octets |
Nombre d’étiquettes de ressource dans cet objet BLOB. |
Balise de ressource |
Variable |
Au moins 0 chaînes UTF-8 terminées par un caractère Null qui encodent les balises de ressource. Le nombre de chaînes terminées par null doit correspondre à Count. |
Chaque balise de ressource spécifie l’opération appliquée à un message, des métadonnées de date et d’heure relatives à l’opération et encode l’UID du message. Le format d’une chaîne de balise de ressource est réparti comme suit et est expliqué plus en détail dans le tableau 2.
Ocyyyymmddhhmmssuuu...
Tableau 2. Structure d’une balise de ressource
Champ dans une balise de ressource | Size | Description |
---|---|---|
O |
1 caractère |
Opération effectuée sur le message électronique. La valeur doit être « + », « - » ou « & », ce qui indique une opération get, delete ou get-and-delete réussie, respectivement. |
c |
1 caractère |
Partie du contenu du message impliquée dans l’opération. La valeur doit être « », « h » ou « b », ce qui indique le contenu de none, header ou body, respectivement. |
yyyy |
4 caractères |
Année à quatre chiffres de l’opération. |
MM |
2 caractères |
Mois à deux chiffres de l’opération. |
dd |
2 caractères |
Jour à deux chiffres de l’opération. |
hh |
2 caractères |
Heure à deux chiffres de l’opération. |
mm |
2 caractères |
Minute à deux chiffres de l’opération. |
ss |
2 caractères |
Seconde à deux chiffres de l’opération. |
uuu… |
Longueur variable |
UID encodé d’un message. |
Exemple
La figure 1 montre un exemple d’objet BLOB qui représente l’historique de téléchargement des messages d’un compte POP.
Figure 1. Exemple de structure BLOB pour l’historique de téléchargement des messages d’un compte POP3
En fonction de la structure décrite dans les tableau 1 et 2, cet objet BLOB représente l’historique de téléchargement de 23 messages électroniques.
Pour analyser l’UID brut dans chaque balise de ressource, n’oubliez pas que l’UID suit cet encodage : les caractères d’un UID sont principalement des caractères alphanumériques, et chaque caractère non alphanumérique est précédé du caractère ASCII « $ » (0x24). Par conséquent, les caractères ASCII $2d représentent le caractère non alphanumérique « - ». La figure 2 montre un exemple de conversion de l’UID brut dans la balise de ressource 1 en représentation ASCII, puis de conversion de tout caractère non alphanumérique précédé de « $ » pour produire l’UID réel :
0BC535DB-EA63-11E1-A75C-00215AD7BB74
Figure 2. Conversion de l’UID brut dans une balise de ressource en UID du message réel
Pour interpréter la balise de ressource 1 dans cet objet BLOB : le message avec l’UID 0BC535DB-EA63-11E1-A75C-00215AD7BB74
a été récupéré avec succès le 6 septembre 2012, à 13 :11 :38.
De même, vous pouvez analyser les 22 balises de ressources restantes pour cet objet BLOB.