עבודה עם מאפייני MAPI

גישה והגדרת מאפיין MAPI של Outlook

מחלקת MapiProperty מייצגת מאפיין MAPI, המכילה:

  • שם: מחרוזת המייצגת את שם התכונה.
  • Tag: ערך long שמייצג את תג המאפיין.
  • נתונים: מערך בתים המייצג את נתוני התכונה.

קבלת מאפיין MAPI באמצעות תג מאפיין MAPI

כדי לקבל מאפייני MAPI:

  1. צור מופע של MapiMessage על‑ידי טעינה מקבצים או מזרם.
  2. קבל את ה‑MapiProperty מ‑MapiMessage.Properties באמצעות מפתחות MapiPropertyTag.
  3. קבל את הנתונים של MapiProperty באמצעות המתודה GetX.

קטע הקוד הבא מראה כיצד לקבל מאפיין MAPI באמצעות תג מאפיין MAPI.

הגדרת מאפייני MAPI

קטע הקוד הבא מראה לך כיצד להגדיר תכונות MAPI.

כאשר ההגדרה של המתודה convertDateTime היא כמתואר למטה:

קריאת תכונות MAPI בשם מקבצי Outlook MSG

Aspose.Email מספקת מערך של API לעבודה עם קבצי MSG, כולל חילוץ של מאפייני MAPI בשם.

קריאת תכונות MAPI בשם מקובץ MSG

כדי לקרוא תכונות MAPI בשם, אנו יכולים להשתמש בתכונה named_properties של MapiMessage class. דוגמת הקוד הבאה מראה כיצד לטעון הודעה, לאחזר את כל מאפייני MAPI בשם, ולחזור על כל מאפיין כדי לבדוק את ערכו:

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

קריאת מאפיין MAPI ממוספר מצורף

Aspose.Email מאפשרת לקבל את כל מאפייני MAPI בשם של קובץ מצורף. דוגמת הקוד הבאה מראה כיצד לקרוא מאפייני MAPI בשם מקבצים מצורפים:

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

הסרת מאפיינים מ‑MSGs וקבצים מצורפים

דוגמת קוד זו מדגמת יצירת הודעת Outlook MSG עם תוכן גוף וקובץ הודעה מצורף. היא גם מראה כיצד למחוק מאפיין קובץ מצורף מההודעה שנוצרה.

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