کار با ویژگی‌های MAPI

دسترسی و تنظیم ویژگی MAPI در Outlook

کلاس MapiProperty نمایانگر یک ویژگی MAPI است که شامل موارد زیر می‌شود:

  • نام: یک رشته که نام ویژگی را نشان می‌دهد.
  • Tag: یک مقدار طولانی که برچسب ویژگی را نشان می‌دهد.
  • داده: یک آرایه بایت که داده‌های ویژگی را نشان می‌دهد.

دریافت ویژگی MAPI با استفاده از برچسب ویژگی MAPI

برای دریافت ویژگی‌های MAPI:

  1. یک نمونه از MapiMessage را با بارگذاری از فایل‌ها یا جریان (stream) ایجاد کنید.
  2. ویژگی MapiProperty را از MapiMessage.Properties با کلیدهای MapiPropertyTag دریافت کنید.
  3. داده‌های MapiProperty را با متد GetX دریافت کنید.

قطعه کد زیر نشان می‌دهد چگونه ویژگی MAPI را با استفاده از برچسب ویژگی MAPI دریافت کنید.

تنظیم ویژگی‌های MAPI

قطعه کد زیر نشان می‌دهد چگونه ویژگی‌های MAPI را تنظیم کنید.

که تعریف متد convertDateTime به شرح زیر است:

خواندن خصوصیات نام‌گذاری شده MAPI از فایل‌های MSG آوتلوک

Aspose.Email مجموعه‌ای از APIها را برای کار با فایل‌های MSG فراهم می‌کند، از جمله استخراج ویژگی‌های MAPI نام‌گذاری شده.

خواندن خصوصیات نام‌گذاری شده MAPI از فایل MSG

برای خواندن خصوصیات نام‌گذاری شده MAPI، می‌توانیم از ویژگی named_properties استفاده کنیم MapiMessage کلاس. نمونه کد زیر نشان می‌دهد چگونه پیامی را بارگذاری کنید، تمام ویژگی‌های 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()}")

حذف ویژگی‌ها از MSGها و پیوست‌ها

این نمونه کد ایجاد یک پیام 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}")