Dostęp i zarządzanie właściwościami Outlook MAPI

MAPI properties to elementy metadanych używane w wiadomościach Microsoft Outlook, definiujące atrybuty takie jak nadawca, odbiorca, temat, załączniki i dane niestandardowe.

Aspose.Email for C++ umożliwia programistom dostęp, modyfikację i usuwanie tych właściwości programowo w MapiMessage obiekty, załączniki i nazwane właściwości.

Ten MapiProperty klasa reprezentuje właściwość MAPI, zawierającą:

  • Name – Ciągowy identyfikator właściwości.
  • Tag – Numeryczny identyfikator używany do odwoływania się do właściwości.
  • Data – Tablica bajtów reprezentująca wartość właściwości.

Odczytaj właściwości MAPI

Aspose.Email umożliwia odczytywanie właściwości MAPI przy użyciu etykiet właściwości.

Poniższy przykład kodu pokazuje, jak odczytać i wyświetlić właściwość tematu z pliku wiadomości MAPI (.msg).

  1. Uzyskaj ścieżkę katalogu, w którym przechowywane są pliki wiadomości Outlook.
  2. Wczytaj plik wiadomości Outlook ("message.msg") do MapiMessage obiekt.
  3. Uzyskaj dostęp do kolekcji właściwości MAPI z wiadomości.
  4. Spróbuj pobrać właściwość tematu przy użyciu PR_SUBJECT (ANSI) etykiety.
  5. Jeśli nie znaleziono właściwości tematu ANSI, spróbuj pobrać właściwość tematu Unicode przy użyciu PR_SUBJECT_W.
  6. Jeśli właściwość tematu istnieje, wyświetl jej wartość tekstową w konsoli.

Ustaw właściwości MAPI

Właściwości MAPI można ustawiać dla wiadomości lub odbiorców w celu określenia niestandardowych atrybutów, typu e‑mail lub statusu synchronizacji.

Poniższy przykład kodu pokazuje, jak utworzyć wiadomość MAPI, ustawić wiele niestandardowych właściwości MAPI, w tym szczegóły nadawcy i odbiorcy, flagi wiadomości oraz czas modyfikacji, a następnie zapisać wiadomość do pliku.

Uwaga: Pomocnicza funkcja ConvertDateTime() konwertuje System::DateTime na tablicę bajtów filetime kompatybilną z MAPI dla właściwości daty/godziny w następujący sposób:

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

Odczyt nazwanych właściwości MAPI

Named MAPI properties to niestandardowe właściwości dodawane przez użytkowników lub aplikacje.

Aspose.Email umożliwia odczyt tych właściwości z wiadomości i załączników.

Odczytywanie nazwanych właściwości MAPI z plików MSG

Poniższy przykład kodu demonstruje, jak wczytać plik wiadomości MAPI, pobrać wszystkie jego nazwane właściwości MAPI i iterować po nich, aby znaleźć i wyświetlić wartości konkretnych nazwanych właściwości ("TEST" i "MYPROP"). Pokazuje, jak uzyskać dostęp do niestandardowych lub rozszerzonych właściwości w wiadomości MAPI, enumerując kolekcję właściwości i warunkowo przetwarzając je na podstawie ich identyfikatorów nazw.

Dostęp do nazwanych właściwości MAPI w załącznikach

Nazwane właściwości MAPI w załącznikach można pobrać w podobny sposób:

Usuwanie właściwości MAPI

Możesz usunąć zarówno standardowe, jak i nazwane właściwości MAPI z wiadomości lub załączników, jak pokazano w poniższym przykładzie kodu: