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í:
- Vytvořte instanci MapiMessage načtením ze souboru nebo streamu.
- Získejte MapiProperty z MapiMessage.Properties pomocí klíčů MapiPropertyTag.
- 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}")