ویژگی‌ها

نمای کلی ویژگی

Aspose.Email FOSS for C++ یک API لایه‌ای برای کار با فایل‌های Outlook MSG و
کانتینرهای Compound File Binary (CFB) فراهم می‌کند. کتابخانه ۲۶ کلاس عمومی در دو
زیرسیستم دارد: CFB و MSG/MAPI.


دسترسی به کانتینر CFB

زیرسیستم CFB فرمت باینری فایل ترکیبی مایکروسافت را می‌خواند و می‌نویسد — فرمت کانتینری که زیرساخت فایل‌های Outlook .msg است.

کلاسهدف
cfb_readerباز کردن و پیمایش فایل‌های CFB موجود
cfb_writerسریال‌سازی اسناد CFB به بایت‌ها یا فایل‌ها
cfb_documentنمایش در حافظه یک فایل CFB
cfb_nodeگره ذخیره‌سازی یا جریان فردی در درخت دایرکتوری
cfb_storageورودی ذخیره‌سازی نام‌دار
cfb_streamجریان نام‌دار با داده‌های باینری

عملیات کلیدی:

  • باز کردن از فایل، جریان یا بایت‌ها: cfb_reader::from_file(), cfb_reader::from_stream(), cfb_reader::from_bytes(), cfb_reader::from_buffer()
  • فهرست‌برداری محتواها: storage_ids(), stream_ids(), child_ids(), directory_entry_count()
  • پیمایش بر اساس مسیر: find_child_by_name(), resolve_path()
  • بازرسی گره‌ها: cfb_node::is_storage(), cfb_node::is_stream(), creation_time(), modified_time()
  • نوشتن کانتینرها: cfb_writer::to_bytes(), cfb_writer::write_file(), cfb_writer::write_stream()

خواندن و نوشتن فایل MSG

زیرسیستم MSG فرمت پیام Outlook را بر پایه CFB مدیریت می‌کند.

ClassPurpose
msg_readerباز کردن و تجزیه فایل‌های MSG
msg_writerسریال‌سازی اسناد MSG
msg_documentنمایش درون‌حافظه‌ای یک فایل MSG

عملیات کلیدی:

  • باز کردن فایل‌های MSG: msg_reader::from_file(), msg_reader::from_stream()
  • بازرسی فراداده: msg_document::major_version(), msg_document::minor_version(), msg_document::strict()
  • نوشتن فایل‌های MSG: msg_writer::to_bytes(), msg_writer::write_file(), msg_writer::write_stream()
  • تبدیل به CFB: msg_document::to_cfb_document() برای دسترسی سطح پایین CFB

API پیام MAPI سطح بالا

کلاس mapi_message یک رابط سطح بالا برای ایجاد، خواندن و تبدیل پیام‌های ایمیل فراهم می‌کند.

ایجاد پیام‌ها:

  • mapi_message::create() — ساخت یک پیام جدید با موضوع و بدنه
  • set_subject(), set_body(), set_html_body() — تنظیم محتوای پیام
  • set_sender_name(), set_sender_email_address(), set_sender_address_type() — تنظیم فرستنده
  • set_internet_message_id() — تنظیم هدر Message‑ID
  • set_message_class() — تنظیم کلاس پیام MAPI
  • unicode_strings() / set_unicode_strings() — کنترل رمزگذاری رشته Unicode

در حال بارگذاری پیام‌ها:

  • mapi_message::from_file() — بارگذاری از مسیر فایل
  • mapi_message::from_stream() — بارگذاری از یک جریان ورودی
  • mapi_message::from_msg_document() — بارگذاری از یک msg_document

ذخیره پیام‌ها:

  • save() — سریال‌سازی به بایت‌ها، جریان یا فایل
  • to_msg_document() — تبدیل به یک msg_document برای دسترسی سطح پایین

پیوست‌ها:

  • mapi_attachment::from_bytes(), mapi_attachment::from_stream() — بارگذاری داده‌های پیوست
  • mapi_attachment::is_embedded_message() — بررسی اینکه آیا پیوست یک MSG توکار است
  • mapi_attachment::load_data() — بارگذاری تنبل محتویات پیوست

ویژگی‌های MAPI:

  • mapi_property::property_id(), property_type(), property_tag() — شناسایی ویژگی
  • mapi_property::set_value(), flags(), set_flags() — دستکاری ویژگی
  • mapi_property_collection::remove() — حذف ویژگی‌ها از یک مجموعه

تبدیل EML و MIME

تبدیل بین فرمت Outlook MSG و EML استاندارد (RFC 5322 / MIME):

  • mapi_message::load_from_eml() — تجزیه یک فایل .eml به mapi_message
  • mapi_message::save_to_eml() — سریال‌سازی یک mapi_message به فرمت EML

موضوع، متن، فرستنده، گیرندگان و پیوست‌ها در طول انتقال‌های دورانی حفظ می‌شوند.


شمارش‌ها و ثابت‌ها

شمارندههدف
common_message_property_idشناسه‌های استاندارد ویژگی‌های MAPI (موضوع، بدنه، فرستنده، پیوست‌ها)
property_type_codeکدهای نوع ویژگی‌های MAPI (عدد صحیح، رشته، باینری، زمان، GUID)
msg_storage_roleنقش‌های ذخیره‌سازی در فایل‌های MSG (پیام، گیرنده، پیوست)
directory_object_typeانواع ورودی‌های دایرکتوری CFB (ذخیره‌سازی، جریان، ریشه)
directory_color_flagپرچم‌های رنگی درخت قرمز‑سیاه برای ورودی‌های دایرکتوری CFB
sector_markerمقادیر ویژه سکتور در جداول تخصیص فایل CFB
 فارسی