دسترسی و مدیریت خصوصیات MAPI Outlook

MAPI properties موارد متادیتایی هستند که در پیام‌های Microsoft Outlook استفاده می‌شوند و ویژگی‌هایی مانند فرستنده، گیرنده، موضوع، پیوست‌ها و داده‌های سفارشی را تعریف می‌کنند.

Aspose.Email for C++ به توسعه‌دهندگان امکان دسترسی، تغییر و حذف این ویژگی‌ها را به‌صورت برنامه‌نویسی در MapiMessage اشیاء، پیوست‌ها و ویژگی‌های نام‌گذاری شده.

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

  • Name – شناسه رشته‌ای ویژگی.
  • Tag – شناسه عددی استفاده‌شده برای ارجاع به ویژگی.
  • Data – آرایه بایتی که مقدار ویژگی را نشان می‌دهد.

خواندن خصوصیات MAPI

Aspose.Email به شما امکان می‌دهد خصوصیات MAPI را با استفاده از برچسب‌های خصوصیت بخوانید.

نمونه کد زیر نشان می‌دهد چگونه خصوصیت موضوع را از یک فایل پیام MAPI (.msg) بخوانید و نمایش دهید.

  1. مسیر دایرکتوری که فایل‌های پیام Outlook در آن ذخیره شده‌اند دریافت کنید.
  2. فایل پیام Outlook ("message.msg") را به یک MapiMessage شیء.
  3. به مجموعه خصوصیات MAPI پیام دسترسی پیدا کنید.
  4. سعی کنید خصوصیت موضوع را با استفاده از PR_SUBJECT (ANSI) برچسب.
  5. اگر خصوصیت موضوع ANSI یافت نشد، سعی کنید خصوصیت موضوع Unicode را با استفاده از PR_SUBJECT_W.
  6. اگر خصوصیت موضوع وجود داشته باشد، مقدار رشته‌ای آن را در کنسول نمایش دهید.

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

ویژگی‌های MAPI می‌توانند برای پیام‌ها یا گیرندگان تنظیم شوند تا ویژگی‌های سفارشی، نوع ایمیل یا وضعیت همگام‌سازی را تعریف کنند.

نمونه کد زیر نشان می‌دهد چگونه یک پیام MAPI ایجاد کنید، چندین ویژگی سفارشی MAPI از جمله جزئیات فرستنده و گیرنده، پرچم‌های پیام و زمان اصلاح را تنظیم کنید و سپس پیام را در یک فایل ذخیره نمایید.

توجه: تابع کمکی ConvertDateTime() مقدار System::DateTime را به یک آرایه بایتی filetime سازگار با MAPI برای ویژگی‌های تاریخ/زمان به شکل زیر تبدیل می‌کند:

int64_t filetime = t.ToFileTime();

System::ArrayPtr<uint8_t> d = System::MakeArray<uint8_t>(8, 0);

d[0] = (uint8_t)(filetime & 0xFF);

d[1] = (uint8_t)((filetime & 0xFF00) >> 8);

d[2] = (uint8_t)((filetime & 0xFF0000) >> 16);

d[3] = (uint8_t)((filetime & 0xFF000000) >> 24);

d[4] = (uint8_t)((filetime & 0xFF00000000) >> 32);

d[5] = (uint8_t)((filetime & 0xFF0000000000) >> 40);

d[6] = (uint8_t)((filetime & 0xFF000000000000) >> 48);

d[7] = (uint8_t)(((uint64_t)filetime & 0xFF00000000000000) >> 56);

خواندن ویژگی‌های MAPI نام‌گذاری شده

ویژگی‌های نام‌گذاری شده MAPI ویژگی‌های سفارشی هستند که توسط کاربران یا برنامه‌ها اضافه می‌شوند.

Aspose.Email امکان خواندن این ویژگی‌ها را از پیام‌ها و پیوست‌ها فراهم می‌کند.

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

نمونه کد زیر نشان می‌دهد چگونه یک فایل پیام MAPI را بارگذاری کنید، تمام ویژگی‌های نام‌گذاری شده MAPI آن را بازیابی کنید و بر روی آنها حلقه بزنید تا مقادیر ویژگی‌های نام‌گذاری شده خاص ("TEST" و "MYPROP") را پیدا و نمایش دهید. این نمونه نشان می‌دهد چگونه به ویژگی‌های سفارشی یا گسترش‌یافته در یک پیام MAPI دسترسی پیدا کنید با شمارش مجموعه ویژگی‌ها و پردازش شرطی ویژگی‌ها بر اساس شناسه‌های نامی آنها.

دست‌رسی به ویژگی‌های نام‌گذاری شده MAPI در پیوست‌ها

ویژگی‌های نام‌گذاری شده MAPI در پیوست‌ها به‌طور مشابه قابل بازیابی هستند:

حذف ویژگی‌های MAPI

می‌توانید هر دو ویژگی استاندارد و نام‌گذاری شده MAPI را از پیام‌ها یا پیوست‌ها همان‌طور که در نمونه کد زیر نشان داده شده، حذف کنید: