คุณสมบัติ

ภาพรวมของฟีเจอร์

Aspose.Email FOSS for C++ ให้ API แบบหลายชั้นสำหรับทำงานกับไฟล์ Outlook MSG และ
คอนเทนเนอร์ Compound File Binary (CFB) ไลบรารีมีคลาสสาธารณะ 26 คลาสในสอง
ระบบย่อย: CFB และ MSG/MAPI.


การเข้าถึงคอนเทนเนอร์ CFB

ระบบย่อย CFB อ่านและเขียนรูปแบบ Microsoft Compound File Binary — รูปแบบคอนเทนเนอร์ที่อยู่เบื้องหลังไฟล์ 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.

คลาสวัตถุประสงค์
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() for low-level CFB access

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() — โหลดเนื้อหาไฟล์แนบแบบ lazy‑load

คุณสมบัติ 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

หัวเรื่อง, เนื้อหา, ผู้ส่ง, ผู้รับ, และไฟล์แนบจะถูกเก็บรักษาไว้ตลอดการเดินทางไปกลับ.


Enums และค่าคงที่

Enumวัตถุประสงค์
common_message_property_idตัวระบุคุณสมบัติ MAPI มาตรฐาน (หัวเรื่อง, เนื้อหา, ผู้ส่ง, ไฟล์แนบ)
property_type_codeรหัสประเภทคุณสมบัติ MAPI (จำนวนเต็ม, สตริง, ไบนารี, เวลา, GUID)
msg_storage_roleบทบาทการจัดเก็บภายในไฟล์ MSG (ข้อความ, ผู้รับ, ไฟล์แนบ)
directory_object_typeประเภทรายการไดเรกทอรี CFB (storage, stream, root)
directory_color_flagแฟล็กสีของต้นไม้ Red-black สำหรับรายการไดเรกทอรี CFB
sector_markerค่าภาคพิเศษในตารางการจัดสรรไฟล์ CFB
 ภาษาไทย