Tính năng

Tổng quan tính năng

Aspose.Email FOSS for C++ cung cấp một API phân lớp để làm việc với các tệp Outlook MSG và
các container Compound File Binary (CFB). Thư viện có 26 lớp công khai trên hai
hệ thống phụ: CFB và MSG/MAPI.


Truy cập Container CFB

Tiểu hệ thống CFB đọc và ghi định dạng Microsoft Compound File Binary — định dạng container nằm dưới các tệp Outlook .msg.

LớpMục đích
cfb_readerMở và duyệt các tệp CFB hiện có
cfb_writerChuỗi hoá tài liệu CFB thành byte hoặc tệp
cfb_documentBiểu diễn trong bộ nhớ của tệp CFB
cfb_nodeNút lưu trữ hoặc luồng riêng lẻ trong cây thư mục
cfb_storageMục lưu trữ có tên
cfb_streamLuồng có tên với dữ liệu nhị phân

Các thao tác chính:

  • Mở từ tệp, luồng hoặc byte: cfb_reader::from_file(), cfb_reader::from_stream(), cfb_reader::from_bytes(), cfb_reader::from_buffer()
  • Liệt kê nội dung: storage_ids(), stream_ids(), child_ids(), directory_entry_count()
  • Duyệt theo đường dẫn: find_child_by_name(), resolve_path()
  • Kiểm tra các nút: cfb_node::is_storage(), cfb_node::is_stream(), creation_time(), modified_time()
  • Ghi các container: cfb_writer::to_bytes(), cfb_writer::write_file(), cfb_writer::write_stream()

Tệp MSG Đọc và Ghi

Tiểu hệ thống MSG xử lý định dạng tin nhắn Outlook trên nền CFB.

LớpMục đích
msg_readerMở và phân tích cú pháp các tệp MSG
msg_writerChuỗi hoá tài liệu MSG
msg_documentBiểu diễn trong bộ nhớ của tệp MSG

Các thao tác chính:

  • Mở tệp MSG: msg_reader::from_file(), msg_reader::from_stream()
  • Kiểm tra siêu dữ liệu: msg_document::major_version(), msg_document::minor_version(), msg_document::strict()
  • Ghi tệp MSG: msg_writer::to_bytes(), msg_writer::write_file(), msg_writer::write_stream()
  • Chuyển đổi sang CFB: msg_document::to_cfb_document() để truy cập CFB cấp thấp

API Tin nhắn MAPI Cấp cao

Lớp mapi_message cung cấp giao diện cấp cao cho việc tạo, đọc và chuyển đổi các tin nhắn email.

Tạo tin nhắn:

  • mapi_message::create() — tạo một tin nhắn mới với tiêu đề và nội dung
  • set_subject(), set_body(), set_html_body() — đặt nội dung tin nhắn
  • set_sender_name(), set_sender_email_address(), set_sender_address_type() — đặt người gửi
  • set_internet_message_id() — đặt tiêu đề Message-ID
  • set_message_class() — đặt lớp tin nhắn MAPI
  • unicode_strings() / set_unicode_strings() — kiểm soát mã hoá chuỗi Unicode

Đang tải tin nhắn:

  • mapi_message::from_file() — tải từ đường dẫn tệp
  • mapi_message::from_stream() — tải từ luồng đầu vào
  • mapi_message::from_msg_document() — tải từ một msg_document

Lưu tin nhắn:

  • save() — chuỗi hoá thành byte, luồng hoặc tệp
  • to_msg_document() — chuyển đổi thành một msg_document để truy cập cấp thấp

Tệp đính kèm:

  • mapi_attachment::from_bytes(), mapi_attachment::from_stream() — tải dữ liệu tệp đính kèm
  • mapi_attachment::is_embedded_message() — kiểm tra xem tệp đính kèm có phải là MSG nhúng không
  • mapi_attachment::load_data() — tải nội dung tệp đính kèm một cách lười biếng

Thuộc tính MAPI:

  • mapi_property::property_id(), property_type(), property_tag() — nhận dạng thuộc tính
  • mapi_property::set_value(), flags(), set_flags() — thao tác thuộc tính
  • mapi_property_collection::remove() — xóa thuộc tính khỏi một bộ sưu tập

Chuyển đổi EML và MIME

Chuyển đổi giữa định dạng Outlook MSG và EML tiêu chuẩn (RFC 5322 / MIME):

  • mapi_message::load_from_eml() — phân tích một .eml file thành một mapi_message
  • mapi_message::save_to_eml() — tuần tự hoá một mapi_message sang định dạng EML

Tiêu đề, nội dung, người gửi, người nhận và tệp đính kèm được giữ nguyên qua các vòng chuyến.


Các Enum và Hằng số

EnumMục đích
common_message_property_idCác định danh thuộc tính MAPI tiêu chuẩn (tiêu đề, nội dung, người gửi, tệp đính kèm)
property_type_codeMã loại thuộc tính MAPI (số nguyên, chuỗi, nhị phân, thời gian, GUID)
msg_storage_roleVai trò lưu trữ trong các tệp MSG (tin nhắn, người nhận, tệp đính kèm)
directory_object_typeCác loại mục nhập thư mục CFB (lưu trữ, luồng, gốc)
directory_color_flagCờ màu cây đỏ-đen cho các mục nhập thư mục CFB
sector_markerGiá trị sector đặc biệt trong bảng phân bổ tệp CFB
 Tiếng Việt