Accéder et gérer les propriétés MAPI d'Outlook

MAPI properties sont des éléments de métadonnées utilisés dans les messages Microsoft Outlook, définissant des attributs tels que l’expéditeur, le destinataire, l’objet, les pièces jointes et les données personnalisées.

Aspose.Email for C++ permet aux développeurs d’accéder, de modifier et de supprimer ces propriétés de manière programmatique dans MapiMessage objets, pièces jointes et propriétés nommées.

Le MapiProperty classe représente une propriété MAPI, qui contient :

  • Name – L’identifiant sous forme de chaîne de la propriété.
  • Tag – Un identifiant numérique utilisé pour référencer la propriété.
  • Data – Un tableau d’octets représentant la valeur de la propriété.

Lire les propriétés MAPI

Aspose.Email vous permet de lire les propriétés MAPI en utilisant des balises de propriétés.

L’exemple de code suivant montre comment lire et afficher la propriété sujet d’un fichier de message MAPI (.msg).

  1. Obtenez le chemin du répertoire où les fichiers de message Outlook sont stockés.
  2. Chargez le fichier de message Outlook ("message.msg") dans un MapiMessage objet.
  3. Accédez à la collection de propriétés MAPI du message.
  4. Essayez de récupérer la propriété sujet en utilisant PR_SUBJECT (ANSI) balise.
  5. Si la propriété sujet ANSI n’est pas trouvée, essayez de récupérer la propriété sujet Unicode en utilisant PR_SUBJECT_W.
  6. Si la propriété sujet existe, affichez sa valeur chaîne dans la console.

Définir les propriétés MAPI

Les propriétés MAPI peuvent être définies pour les messages ou les destinataires afin de spécifier des attributs personnalisés, le type d’email ou le statut de synchronisation.

L’exemple de code suivant montre comment créer un message MAPI, définir plusieurs propriétés MAPI personnalisées incluant les détails de l’expéditeur et du destinataire, les indicateurs du message et l’heure de modification, puis enregistrer le message dans un fichier.

Note : L’assistant ConvertDateTime() convertit System::DateTime en un tableau d’octets filetime compatible MAPI pour les propriétés de date/heure de la manière suivante :

int64_t filetime = t.ToFileTime();

System::ArrayPtr<uint8_t> d = System::MakeArray<uint8_t>(8, 0);

d[0] = (uint8_t)(filetime & 0xFF);

d[1] = (uint8_t)((filetime & 0xFF00) >> 8);

d[2] = (uint8_t)((filetime & 0xFF0000) >> 16);

d[3] = (uint8_t)((filetime & 0xFF000000) >> 24);

d[4] = (uint8_t)((filetime & 0xFF00000000) >> 32);

d[5] = (uint8_t)((filetime & 0xFF0000000000) >> 40);

d[6] = (uint8_t)((filetime & 0xFF000000000000) >> 48);

d[7] = (uint8_t)(((uint64_t)filetime & 0xFF00000000000000) >> 56);

Lire les propriétés MAPI nommées

Named MAPI properties sont des propriétés personnalisées ajoutées par les utilisateurs ou les applications.

Aspose.Email permet de lire ces propriétés à partir des messages et des pièces jointes.

Lecture des propriétés MAPI nommées à partir de fichiers MSG

L’exemple de code suivant montre comment charger un fichier de message MAPI, récupérer toutes ses propriétés MAPI nommées, et itérer à travers elles pour trouver et afficher les valeurs de propriétés nommées spécifiques ("TEST" et "MYPROP"). Il montre comment accéder aux propriétés personnalisées ou étendues dans un message MAPI en énumérant la collection de propriétés et en traitant conditionnellement les propriétés selon leurs identifiants de nom.

Accès aux propriétés MAPI nommées dans les pièces jointes

Les propriétés MAPI nommées dans les pièces jointes peuvent être récupérées de façon similaire :

Suppression des propriétés MAPI

Vous pouvez supprimer les propriétés MAPI standard et nommées des messages ou des pièces jointes comme illustré dans l’exemple de code ci-dessous :