Arbeiten mit MAPI‑Eigenschaften
Zugriff auf und Setzen von Outlook‑MAPI‑Eigenschaften
Die MapiProperty‑Klasse repräsentiert eine MAPI‑Eigenschaft, die enthält:
- Name: ein String, der den Namen der Eigenschaft darstellt.
- Tag: ein Long‑Wert, der das Property‑Tag repräsentiert.
- Data: ein Byte‑Array, das die Daten der Eigenschaft repräsentiert.
Abrufen einer MAPI‑Eigenschaft mittels des MAPI‑Property‑Tags
Um MAPI‑Eigenschaften zu erhalten:
- Erstellen Sie eine Instanz von MapiMessage, indem Sie aus Dateien oder einem Stream laden.
- Holen Sie die MapiProperty aus MapiMessage.Properties mittels MapiPropertyTag‑Schlüsseln.
- Rufen Sie die Daten der MapiProperty über die Methode GetX ab.
Das folgende Code‑Snippet zeigt, wie Sie eine MAPI‑Eigenschaft über das MAPI‑Property‑Tag abrufen.
Setzen von MAPI‑Eigenschaften
Das folgende Code‑Snippet zeigt, wie Sie MAPI‑Eigenschaften setzen.
wobei die Definition der convertDateTime‑Methode wie folgt aussieht:
Benannte MAPI-Eigenschaften aus Outlook MSG-Dateien lesen
Aspose.Email bietet eine Reihe von APIs zur Arbeit mit MSG‑Dateien, einschließlich des Extrahierens benannter MAPI‑Eigenschaften.
Benannte MAPI-Eigenschaften aus MSG-Datei lesen
Um benannte MAPI-Eigenschaften zu lesen, können wir die named_properties-Eigenschaft des MapiMessage Klasse. Das folgende Codebeispiel zeigt, wie man eine Nachricht lädt, alle benannten MAPI‑Eigenschaften abruft und jede Eigenschaft durchläuft, um ihren Wert zu prüfen:
import aspose.email as ae
msg = ae.mapi.MapiMessage.load("my.msg")
# Get all named MAPI properties
properties = msg.named_properties.values
# Read all properties in foreach loop
for prop in properties:
# Read any specific property
if prop.descriptor.canonical_name == "PidLidSideEffects":
print(f"{prop.descriptor.canonical_name} = {prop}")
if prop.descriptor.canonical_name == "PidLidInternetAccountName":
print(f"{prop.descriptor.canonical_name} = {prop}")
Auslesen benannter MAPI‑Eigenschaften aus einem Anhang
Aspose.Email ermöglicht das Abrufen aller benannten MAPI‑Eigenschaften eines Anhangs. Das folgende Codebeispiel zeigt, wie benannte MAPI‑Eigenschaften aus Anhängen gelesen werden:
import aspose.email as ae
msg = ae.mapi.MapiMessage.load("my.msg")
# Get all named MAPI properties
attach_properties = msg.attachments[0].named_properties.values
# Read all properties in foreach loop
for prop in attach_properties:
# Read any specific property
if prop.descriptor.name == "AttachmentOriginalUrl":
print(f"{prop.descriptor.name} = {prop.get_string()}")
if prop.descriptor.name == "AttachmentWasSavedToCloud":
print(f"{prop.descriptor.name} = {prop.get_boolean()}")
Entfernen von Eigenschaften aus MSG‑Dateien und Anhängen
Dieses Code‑Beispiel demonstriert die Erstellung einer Outlook‑MSG‑Nachricht mit einem Textkörper und einer angehängten Nachrichtendatei. Es zeigt außerdem, wie ein Anhangs‑Property aus der erstellten Nachricht gelöscht wird.
import aspose.email as ae
# create an MSG
msg = ae.mapi.MapiMessage("from@doamin.com", "to@domain.com", "subject", "body");
msg.set_body_content("<html><body><h1>This is the body content</h1></body></html>", ae.mapi.BodyContentType.HTML)
# load message and add it to created MSG as attachment
attachment = ae.mapi.MapiMessage.load(attach.msg")
msg.attachments.add("Outlook2 Test subject.msg", attachment)
# count of attachment properties before removal
print(f"Before removal = {msg.attachments[0].properties.count}")
# Delete anyone attachment property
msg.attachments[0].remove_property(923467779)
# count of attachment properties after removal
print(f"Before removal = {msg.attachments[0].properties.count}")