ویژگیها
نمای کلی ویژگی
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 مدیریت میکند.
| Class | Purpose |
|---|---|
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‑IDset_message_class()— تنظیم کلاس پیام MAPIunicode_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_messagemapi_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 |