Åtkomst till och hantera Outlook‑MAPI‑egenskaper

MAPI-egenskaper är metadataobjekt som används i Microsoft Outlook-meddelanden och definierar attribut såsom avsändare, mottagare, ämne, bilagor och anpassade data.

Aspose.Email för C++ låter utvecklare att komma åt, modifiera och ta bort dessa egenskaper programmässigt i MapiMessage objekt, bilagor och namngivna egenskaper.

Den MapiProperty klassen representerar en MAPI‑egenskap, som innehåller:

  • Name – Egenskapens strängidentifierare.
  • Tag – En numerisk identifierare som används för att referera till egenskapen.
  • Data – En bytearray som representerar egenskapens värde.

Läs MAPI‑egenskaper

Aspose.Email låter dig läsa MAPI‑egenskaper med hjälp av egenskapstaggar.

Följande kodexempel visar hur man läser och visar ämnesegenskapen från en MAPI‑meddelandefil (.msg).

  1. Hämta katalogsökvägen där Outlook‑meddelandefilerna lagras.
  2. Läs in Outlook‑meddelandefilen ("message.msg") i en MapiMessage objekt.
  3. Åtkomst till samlingen av MAPI‑egenskaper från meddelandet.
  4. Försök att hämta ämnesegenskapen med PR_SUBJECT (ANSI) tag.
  5. Om ANSI‑ämnesegenskapen inte hittas, försök att hämta Unicode‑ämnesegenskapen med hjälp av PR_SUBJECT_W.
  6. Om ämnesegenskapen finns, skriv ut dess strängvärde till konsolen.

Ange MAPI‑egenskaper

MAPI-egenskaper kan sättas för meddelanden eller mottagare för att definiera anpassade attribut, e-posttyp eller synkroniseringsstatus.

Följande kodexempel demonstrerar hur man skapar ett MAPI-meddelande, sätter flera anpassade MAPI-egenskaper inklusive avsändar- och mottagardetaljer, meddelandeflaggor och modifieringstid, och sedan sparar meddelandet till en fil.

Obs: Hjälpmedlet ConvertDateTime() konverterar System::DateTime till en MAPI-kompatibel filetime-bytearray för datum/tids‑egenskaper på följande sätt:

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);

Läs namngivna MAPI‑egenskaper

Namngivna MAPI-egenskaper är anpassade egenskaper som läggs till av användare eller applikationer.

Aspose.Email möjliggör läsning av dessa egenskaper från meddelanden och bilagor.

Läsa namngivna MAPI-egenskaper från MSG-filer

Följande kodexempel demonstrerar hur man laddar en MAPI-meddelandefil, hämtar alla dess namngivna MAPI-egenskaper och itererar igenom dem för att hitta och visa värdena för specifika namngivna egenskaper ("TEST" och "MYPROP"). Det visar hur man får åtkomst till anpassade eller utökade egenskaper i ett MAPI-meddelande genom att enumerera egenskapskollektionen och villkorligt bearbeta egenskaper baserat på deras namnidentifierare.

Åtkomst till namngivna MAPI-egenskaper i bilagor

Namngivna MAPI-egenskaper i bilagor kan hämtas på liknande sätt:

Ta bort MAPI-egenskaper

Du kan ta bort både standard- och namngivna MAPI-egenskaper från meddelanden eller bilagor som visas i kodexemplet nedan: