Zugriff und Verwaltung von Outlook‑MAPI‑Eigenschaften

MAPI properties sind Metadaten‑Einträge, die in Microsoft‑Outlook‑Nachrichten verwendet werden und Attribute wie Absender, Empfänger, Betreff, Anhänge und benutzerdefinierte Daten definieren.

Aspose.Email for C++ ermöglicht Entwicklern, diese Eigenschaften programmgesteuert zuzugreifen, zu ändern und zu entfernen in MapiMessage Objekte, Anhänge und benannte Eigenschaften.

Die MapiProperty Die Klasse repräsentiert eine MAPI‑Eigenschaft, die Folgendes enthält:

  • Name – Der Zeichenketten‑Bezeichner der Eigenschaft.
  • Tag – Eine numerische Kennung, die verwendet wird, um die Eigenschaft zu referenzieren.
  • Data – Ein Byte-Array, das den Wert der Eigenschaft darstellt.

MAPI‑Eigenschaften lesen

Aspose.Email ermöglicht das Auslesen von MAPI‑Eigenschaften mittels Property‑Tags.

Das folgende Code‑Beispiel zeigt, wie die Betreff‑Eigenschaft einer MAPI‑Nachrichtendatei (.msg) gelesen und angezeigt wird.

  1. Ermitteln Sie den Verzeichnispfad, in dem die Outlook‑Nachrichtendateien gespeichert sind.
  2. Laden Sie die Outlook‑Nachrichtendatei ("message.msg") in ein MapiMessage Objekt.
  3. Greifen Sie auf die Sammlung der MAPI‑Eigenschaften der Nachricht zu.
  4. Versuchen Sie, die Betreff‑Eigenschaft zu ermitteln mittels PR_SUBJECT (ANSI) Tag.
  5. Falls die ANSI‑Betreff‑Eigenschaft nicht gefunden wird, versuchen Sie, die Unicode‑Betreff‑Eigenschaft zu ermitteln mittels PR_SUBJECT_W.
  6. Falls die Betreff‑Eigenschaft existiert, geben Sie deren Zeichenkettenwert in der Konsole aus.

MAPI‑Eigenschaften setzen

MAPI‑Eigenschaften können für Nachrichten oder Empfänger festgelegt werden, um benutzerdefinierte Attribute, E‑Mail‑Typ oder Synchronisationsstatus zu definieren.

Das folgende Code‑Beispiel zeigt, wie man eine MAPI‑Nachricht erstellt, mehrere benutzerdefinierte MAPI‑Eigenschaften einschließlich Absender‑ und Empfänger‑Details, Nachrichten‑Flags und Änderungszeit festlegt und anschließend die Nachricht in einer Datei speichert.

Hinweis: Der ConvertDateTime()-Helper konvertiert System::DateTime in ein MAPI‑kompatibles Filetime‑Byte‑Array für Datums‑/Zeit‑Eigenschaften wie folgt:

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

Benannte MAPI‑Eigenschaften lesen

Benannte MAPI‑Eigenschaften sind benutzerdefinierte Eigenschaften, die von Benutzern oder Anwendungen hinzugefügt werden.

Aspose.Email ermöglicht das Lesen dieser Eigenschaften aus Nachrichten und Anhängen.

Lesen benannter MAPI‑Eigenschaften aus MSG‑Dateien

Das folgende Code‑Beispiel zeigt, wie man eine MAPI‑Nachrichtendatei lädt, alle benannten MAPI‑Eigenschaften abruft und sie durchläuft, um die Werte bestimmter benannter Eigenschaften ("TEST" und "MYPROP") zu finden und anzuzeigen. Es zeigt, wie man in einer MAPI‑Nachricht auf benutzerdefinierte oder erweiterte Eigenschaften zugreift, indem man die Eigenschaftssammlung enumeriert und Eigenschaften basierend auf ihren Namenskennungen bedingt verarbeitet.

Zugriff auf benannte MAPI‑Eigenschaften in Anhängen

Benannte MAPI‑Eigenschaften in Anhängen können auf ähnliche Weise abgerufen werden:

Entfernen von MAPI‑Eigenschaften

Sie können sowohl Standard‑ als auch benannte MAPI‑Eigenschaften aus Nachrichten oder Anhängen entfernen, wie im folgenden Code‑Beispiel gezeigt: