Práce s MAPI vlastnostmi

Přístup a nastavení Outlook MAPI vlastnosti

Třída MapiProperty představuje MAPI vlastnost, která obsahuje:

  • Name: řetězec představující název vlastnosti.
  • Tag: dlouhé číslo, které představuje tag vlastnosti.
  • Data: pole bajtů představující data vlastnosti.

Získání MAPI vlastnosti pomocí MAPI Property Tag

Pro získání MAPI vlastností:

  1. Vytvořte instanci MapiMessage načtením ze souboru nebo streamu.
  2. Získejte MapiProperty z MapiMessage.Properties pomocí klíčů MapiPropertyTag.
  3. Získejte data MapiProperty pomocí metody GetX.

Následující úryvek kódu ukazuje, jak získat MAPI vlastnost pomocí MAPI property tag.

Nastavení MAPI vlastností

Následující úryvek kódu vám ukáže, jak nastavit MAPI vlastnosti.

kde je definice metody convertDateTime následující:

Čtení pojmenovaných MAPI vlastností z Outlook MSG souborů

Aspose.Email poskytuje sadu API pro práci se soubory MSG, včetně získávání pojmenovaných MAPI vlastností.

Číst pojmenované MAPI vlastnosti ze souboru MSG

Pro čtení pojmenovaných MAPI vlastností můžeme použít vlastnost named_properties MapiMessage třída. Následující ukázkový kód ukazuje, jak načíst zprávu, získat všechny pojmenované MAPI vlastnosti, projít každou vlastnost a zkontrolovat její hodnotu:

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}")

Čtení pojmenované MAPI vlastnosti z přílohy

Aspose.Email umožňuje načíst všechny pojmenované MAPI vlastnosti přílohy. Následující ukázkový kód ukazuje, jak číst pojmenované MAPI vlastnosti z příloh:

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()}")

Odstranění vlastností z MSG a příloh

Tento ukázkový kód demonstruje vytvoření Outlook MSG zprávy s obsahem těla a připojeným souborem zprávy. Také ukazuje, jak odebrat vlastnost přílohy z vytvořené zprávy.

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}")