Verwalten von MAPI-Eigenschaften

Die programmgesteuerte Verwaltung von E-Mail-Daten kann komplex sein, insbesondere beim Umgang mit den Eigenschaften der Messaging Application Programming Interface (MAPI). Diese Eigenschaften sind Attribute oder Metadaten, die mit MAPI-Objekten wie Nachrichten, Ordnern, Empfängern und anderen Komponenten eines Nachrichtensystems verbunden sind. Diese Eigenschaften bieten detaillierte Informationen über das Objekt, wie z.B. den Betreff einer E-Mail, die Adresse des Absenders, das Datum, an dem eine E-Mail gesendet wurde, und mehr. MAPI-Eigenschaften werden in E-Mail-Clients und anderen Messaging-Anwendungen umfassend verwendet, um E-Mail-Daten zu verwalten und zu manipulieren. Dieser Artikel befasst sich mit verschiedenen Techniken zum Zugreifen, Auflisten und Manipulieren von MAPI-Eigenschaften mithilfe von Aspose.Email für .NET.

.NET-API zur Verwaltung von MAPI-Eigenschaften in C#

Aspose.Email für .NET bietet umfassende Unterstützung für die Handhabung von Eigenschaften der Messaging Application Programming Interface, die es Entwicklern ermöglicht, E-Mail-Daten detailliert zu verwalten und zu manipulieren. Es handelt sich auch um eine umfangreiche API, die es Entwicklern ermöglicht, ihre E-Mail-Anwendungen mit robusten Funktionen zur Nachrichtenverarbeitung und anderen verwandten Aufgaben auszustatten.

Durch die Verwendung von Aspose.Email für .NET können Entwickler ausgeklügelte Lösungen zur Verwaltung und Verarbeitung von E-Mails erstellen. Um die Bibliothek zu nutzen, können Sie sie von der Aspose-Website oder NuGet herunterladen und in Ihr Projekt integrieren.

Kategorien von MAPI-Eigenschaften

Stellen Sie sicher, dass Sie Aspose.Email in Ihrem Projekt haben, und lassen Sie uns beginnen. MAPI-Eigenschaften können in drei Haupttypen kategorisiert werden: Standard-Eigenschaften, benannte Eigenschaften und benutzerdefinierte (benutzerdefinierte) Eigenschaften. Jede Kategorie hat einen anderen Zweck und bietet unterschiedliche Flexibilität und Kontrolle für Entwickler, die mit E-Mail-Daten arbeiten. Hier ist eine Übersicht über jeden Typ:

Standard-Eigenschaften

Definiert durch die MAPI-Spezifikation haben sie vordefinierte Eigenschaftstags und werden häufig für Standardattribute von Messaging-Objekten verwendet. Zum Beispiel:

Benannte Eigenschaften

Identifiziert durch eine GUID und einen String-Namen oder eine Ganzzahl-Identifikator, ermöglichen diese Eigenschaften eine spezifischere Kategorisierung und Identifizierung über Standard-Eigenschaften hinaus.

Benutzerdefinierte (Benutzerdefinierte) Eigenschaften

Von Entwicklern definiert, erweitern sie die Funktionalität von MAPI-Objekten und ermöglichen eine benutzerdefinierte und anwendungsspezifische Datenverarbeitung.

Auflisten aller MAPI-Eigenschaften

Um alle MAPI-Eigenschaften in einer Nachricht aufzulisten, verwenden wir die Methode MapiMessage.Load, um die Nachricht zu laden und über ihre Eigenschaften zu iterieren. Das folgende Codebeispiel zeigt, wie man eine MAPI-Nachricht lädt, durch ihre Eigenschaften iteriert und detaillierte Informationen über jede Eigenschaft mithilfe von Aspose.Email für .NET ausgibt:

  1. Laden Sie die MAPI-Nachrichtendatei vom angegebenen Pfad.
  2. Iterieren Sie über die Sammlung msg.Properties.Values, um auf jede Eigenschaft zuzugreifen.
  3. Für jede MAPI-Eigenschaft drucken Sie ihr Tag, ihren kanonischen Namen und ihren Datentyp aus:
    • Tag Eigenschaft bietet die eindeutige Kennung für die MAPI-Eigenschaft.
    • Descriptor.CanonicalName Eigenschaft gibt den menschenlesbaren Namen der Eigenschaft an.
    • Descriptor.DataType Eigenschaft zeigt den Datentyp der Eigenschaft an.

Auflisten benannter MAPI-Eigenschaften

Während reguläre MAPI-Eigenschaften durch ein 16-Bit-Eigenschaftstag identifiziert werden, das aus einem Eigenschaftstyp und einem Eigenschaftsidentifikator besteht, werden benannte Eigenschaften durch eine Kombination aus einer GUID und entweder einem Stringnamen oder einer Ganzzahl-Identifikator identifiziert:

  • GUID (Globally Unique Identifier): Eine eindeutige Kennung, die sicherstellt, dass das Eigenschaftenset eindeutig ist. Diese GUID wird normalerweise vom Entwickler bereitgestellt.
  • Name oder ID:
    • Ein String-Name (Groß- und Kleinschreibung wird beachtet).
    • Eine 32-Bit-Ganzzahl-Identifikator.

Das folgende Codebeispiel zeigt, wie man Aspose.Email für .NET verwendet, um über die benannten MAPI-Eigenschaften einer Nachricht zu iterieren und detaillierte Informationen basierend auf dem Eigenschaftsdeskriptor-Typ auszugeben:

  1. Iterieren Sie durch jede benannte Eigenschaft, indem Sie auf die Sammlung ‘NamedProperties.Values’ des geladenen MapiMessage-Objekts zugreifen, um alle benannten MAPI-Eigenschaften zu erhalten.
  2. Überprüfen Sie, ob der Deskriptor der aktuellen benannten Eigenschaft vom Typ PidNamePropertyDescriptor ist. Wenn ja, casten Sie den Deskriptor zu PidNamePropertyDescriptor. Drucken Sie die GUID, den kanonischen Namen und den Datentyp der Eigenschaft aus.
  3. Überprüfen Sie, ob der Deskriptor der aktuellen benannten Eigenschaft vom Typ PidLidPropertyDescriptor ist. Wenn ja, casten Sie den Deskriptor zu PidLidPropertyDescriptor. Drucken Sie die GUID, den kanonischen Namen, die lange ID und den Datentyp der Eigenschaft aus.

So haben wir spezifische Attribute wie PropertySet, CanonicalName, DataType und LongId abhängig vom Deskriptortyp (PidNamePropertyDescriptor oder PidLidPropertyDescriptor) ausgedruckt.

Abrufen von Eigenschaften nach Deskriptor

Das Abrufen von Eigenschaften nach Deskriptor ist eine unkomplizierte Möglichkeit, auf spezifische MAPI-Eigenschaften zuzugreifen, ohne die gesamte Eigenschaftssammlung zu durchlaufen. Aspose.Email für .NET bietet eine bequeme Möglichkeit, Eigenschaften mithilfe der KnownPropertyList abzurufen. Das folgende Codebeispiel zeigt, wie man die Details einer bestimmten Eigenschaft, wie die InternetMessageId, abrufen und drucken kann, falls sie existiert.

  1. Greifen Sie auf die InternetMessageId-Eigenschaft aus der Eigenschaften-Sammlung des MapiMessage-Objekts über die KnownPropertyList zu.
  2. Überprüfen Sie, ob die Eigenschaft nicht null ist, um sicherzustellen, dass sie in der Nachricht existiert.
  3. Drucken Sie die Details der abgerufenen Eigenschaft aus: Tag, kanonischer Name und Datentyp.
  4. Wenn der Datentyp der Eigenschaft ein String ist, verwenden Sie die GetString-Methode, um den Eigenschaftswert abzurufen und ihn auszudrucken.

Abrufen von Eigenschaften nach Tag

Ein Eigenschaftstag ist ein 32-Bit-Identifikator, der eine MAPI-Eigenschaft eindeutig identifiziert. Er besteht aus einer Eigenschafts-ID und einem Eigenschaftstyp. Mit Eigenschaftstags können Sie direkt auf spezifische Eigenschaften innerhalb einer MAPI-Nachricht zugreifen. Das folgende Codebeispiel zeigt, wie man die Details einer bestimmten Eigenschaft, wie PR_HASATTACH, abrufen und drucken kann, falls sie existiert.

  1. Verwenden Sie den MapiPropertyTag, um direkt auf die PR_HASATTACH-Eigenschaft aus der Eigenschaften-Sammlung des MapiMessage-Objekts zuzugreifen.
  2. Überprüfen Sie, ob die Eigenschaft nicht null ist, um sicherzustellen, dass sie in der Nachricht existiert.
  3. Drucken Sie die Details der abgerufenen Eigenschaft aus: Tag und Datentyp.
  4. Wenn der Datentyp der Eigenschaft boolesch ist, verwenden Sie die GetBoolean-Methode, um den Eigenschaftswert abzurufen und auszudrucken, ob die Nachricht Anhänge hat.

Verwendung der GetProperty-Methode

Die GetProperty-Methode vereinfacht den Prozess des Abrufens sowohl regulärer als auch benannter Eigenschaften aus einer MAPI-Nachricht. Diese Methode ermöglicht es Ihnen, direkt auf eine Eigenschaft über ihren Deskriptor oder Tag zuzugreifen, ohne die Eigenschaften-Sammlung manuell zu überprüfen. Das folgende Codebeispiel zeigt, wie man die GetProperty-Methode zur Abfrage spezifischer MAPI-Eigenschaften verwendet:

  1. Verwenden Sie die GetProperty-Methode, um direkt auf die CurrentVersionName-Eigenschaft der KnownPropertyList-Klasse zuzugreifen.
  2. Überprüfen Sie, ob die Eigenschaft nicht null ist, um sicherzustellen, dass sie in der Nachricht existiert.
  3. Verwenden Sie die GetString-Methode, um den Eigenschaftswert abzurufen und ihn auszudrucken.

Hier wird GetProperty verwendet, um direkt auf die CurrentVersionName-Eigenschaft zuzugreifen.

Arbeiten mit benutzerdefinierten Eigenschaften

Benutzerdefinierte MAPI-Eigenschaften sind zusätzliche Eigenschaften, die nicht Teil des vordefinierten Satzes von MAPI-Eigenschaften sind. Sie werden erstellt, um anwendungsspezifische Daten zu speichern und werden vom Entwickler definiert. Durch die Möglichkeit, dass Entwickler zusätzliche Eigenschaften definieren und verwenden, bietet MAPI eine flexible und leistungsstarke Möglichkeit, benutzerdefinierte Daten innerhalb von Messaging-Anwendungen zu speichern und zu verwalten. Benutzerdefinierte Eigenschaften sind benannte Eigenschaften (verwenden eine GUID und einen String-Namen). Aspose.Email führt einen Ansatz ein, den Sie verwenden können, um alle benutzerdefinierten Eigenschaften abzurufen, die in der Nachricht definiert sind. Dies wird mit der Methode GetCustomProperties erreicht. Das folgende Codebeispiel zeigt, wie man alle benutzerdefinierten Eigenschaften, die in einer MAPI-Nachricht definiert sind, abruft und ausgibt:

  1. Verwenden Sie die GetCustomProperties-Methode, um eine Sammlung aller benutzerdefinierten Eigenschaften, die in der Nachricht definiert sind, zu erhalten.
  2. Iterieren Sie durch jede benutzerdefinierte Eigenschaft in der abgerufenen Sammlung.
  3. Drucken Sie die Eigenschaftendetails aus: Tag, kanonischer Name und Datentyp.

Fazit

Dieser Artikel hat verschiedene Techniken zum Zugreifen, Auflisten und Manipulieren von MAPI-Eigenschaften mithilfe von Aspose.Email für .NET erkundet. Aspose.Email bietet umfassende Unterstützung für die Handhabung dieser Eigenschaften, die es Entwicklern ermöglicht, E-Mail-Daten detailliert zu verwalten und zu manipulieren. Durch die Verwendung dieser Bibliothek können Entwickler ausgeklügelte Lösungen zur Verwaltung und Verarbeitung von E-Mails erstellen, wodurch die Arbeit mit Standard-, benannten und benutzerdefinierten Eigenschaften erleichtert wird.

Darüber hinaus bietet Aspose.Email umfassende Dokumentation, ein umfangreiches API-Referenzdokument und eine Vielzahl kostenloser Online-Tools und Apps, um Ihren Entwicklungsprozess zu verbessern. Entwickler können auch ein kostenloses Support-Forum für Unterstützung und Einblicke der Community nutzen und über die neuesten Tipps und Tutorials durch den Aspose Blog informiert bleiben. Diese Ressourcen sind von unschätzbarem Wert, um das Potenzial der Bibliothek in Ihren Projekten zu maximieren.

Siehe auch