Werken met MAPI‑eigenschappen
Outlook MAPI‑eigenschap benaderen en instellen
De MapiProperty‑klasse vertegenwoordigt een MAPI‑eigenschap, die bevat:
- Naam: een string die de naam van de eigenschap weergeeft.
- Tag: een long‑waarde die de tag van de eigenschap vertegenwoordigt.
- Data: een byte‑array die de gegevens van de eigenschap weergeeft.
MAPI‑eigenschap ophalen met de MAPI‑property‑tag
Om MAPI‑eigenschappen op te halen:
- Maak een instantie van MapiMessage door te laden uit bestanden of een stream.
- Haal de MapiProperty op uit MapiMessage.Properties met MapiPropertyTag‑sleutels.
- Haal de gegevens van de MapiProperty op met de methode GetX.
Het volgende codefragment laat zien hoe u een MAPI‑eigenschap opvraagt met behulp van de MAPI‑property‑tag.
MAPI‑eigenschappen instellen
Het volgende codefragment laat zien hoe u MAPI‑eigenschappen instelt.
waar de definitie van de convertDateTime‑methode er als volgt uitziet:
Benoemde MAPI-eigenschappen lezen uit Outlook MSG-bestanden
Aspose.Email biedt een reeks API’s om met MSG‑bestanden te werken, inclusief het extraheren van benoemde MAPI‑eigenschappen.
Lees benoemde MAPI-eigenschappen van MSG-bestand
Om benoemde MAPI-eigenschappen te lezen, kunnen we de named_properties eigenschap van de MapiMessage klasse. Het volgende codevoorbeeld laat zien hoe een bericht wordt geladen, alle benoemde MAPI‑eigenschappen worden opgehaald en over elke eigenschap wordt geïtereerd om de waarde te controleren:
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}")
Naamgegeven MAPI‑eigenschap lezen uit een bijlage
Aspose.Email maakt het mogelijk om alle benoemde MAPI‑eigenschappen van een bijlage op te halen. Het volgende codevoorbeeld laat zien hoe benoemde MAPI‑eigenschappen van bijlagen gelezen kunnen worden:
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()}")
Eigenschappen uit MSG‑bestanden en bijlagen verwijderen
Dit codevoorbeeld demonstreert het maken van een Outlook‑MSG‑bericht met een body‑inhoud en een bijgevoegd berichtbestand. Het laat ook zien hoe u een bijlage‑eigenschap uit het gemaakte bericht verwijdert.
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}")