Arbeta med MAPI-egenskaper
Åtkomst och sättning av Outlook MAPI‑egenskap
MapiProperty‑klassen representerar en MAPI‑egenskap, som innehåller:
- Namn: en sträng som representerar egenskapens namn.
- Tagg: ett heltal som representerar egenskapens tagg.
- Data: en byte‑array som representerar egenskapens data.
Hämtar MAPI‑egenskap med MAPI‑egendomstaggen
För att hämta MAPI‑egenskaper:
- Skapa en instans av MapiMessage genom att ladda från filer eller ström.
- Hämta MapiProperty från MapiMessage.Properties med nycklar av typen MapiPropertyTag.
- Hämta data för MapiProperty med metoden GetX.
Följande kodsnutt visar hur man får en MAPI‑egenskap med MAPI‑egendomstaggen.
Sätter MAPI‑egenskaper
Följande kodsnutt visar hur du sätter MAPI‑egenskaper.
där definitionen av convertDateTime‑metoden är som följer:
Läsa namngivna MAPI‑egenskaper från Outlook MSG‑filer
Aspose.Email tillhandahåller en uppsättning API:er för att arbeta med MSG‑filer, inklusive extraktion av namngivna MAPI‑egenskaper.
Läs namngivna MAPI‑egenskaper från MSG‑fil
För att läsa namngivna MAPI‑egenskaper kan vi använda egenskapen named_properties hos MapiMessage klass. Följande kodexempel visar hur man laddar ett meddelande, hämtar alla namngivna MAPI‑egenskaper, itererar över varje egenskap för att kontrollera dess värde:
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}")
Läser namngiven MAPI‑egenskap från bilaga
Aspose.Email möjliggör att hämta alla namngivna MAPI‑egenskaper för en bilaga. Följande kodexempel visar hur man läser namngivna MAPI‑egenskaper från bilagor:
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()}")
Ta bort egenskaper från MSG‑filer och bilagor
Detta kodexempel demonstrerar skapandet av ett Outlook‑MSG‑meddelande med ett brödtextinnehåll och en bifogad meddelandefil. Det visar också hur man tar bort en bilagegenskap från det skapade meddelandet.
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}")