Truy cập và Quản lý Các Thuộc tính MAPI của Outlook

MAPI properties là các mục siêu dữ liệu được sử dụng trong tin nhắn Microsoft Outlook, định nghĩa các thuộc tính như người gửi, người nhận, tiêu đề, tệp đính kèm và dữ liệu tùy chỉnh.

Aspose.Email for C++ cho phép các nhà phát triển truy cập, sửa đổi và xóa các thuộc tính này một cách lập trình trong MapiMessage đối tượng, tệp đính kèm và thuộc tính có tên.

Cái MapiProperty lớp đại diện cho một thuộc tính MAPI, bao gồm:

  • Name – Định danh chuỗi của thuộc tính.
  • Tag – Một định danh số dùng để tham chiếu tới thuộc tính.
  • Data – Một mảng byte đại diện cho giá trị của thuộc tính.

Đọc Các Thuộc tính MAPI

Aspose.Email cho phép bạn đọc các thuộc tính MAPI bằng các thẻ thuộc tính.

Mẫu mã sau đây minh họa cách đọc và hiển thị thuộc tính tiêu đề từ tệp tin tin nhắn MAPI (.msg).

  1. Lấy đường dẫn thư mục nơi các tệp tin Outlook được lưu trữ.
  2. Tải tệp tin Outlook ("message.msg") vào một MapiMessage đối tượng.
  3. Truy cập bộ sưu tập các thuộc tính MAPI từ tin nhắn.
  4. Cố gắng lấy thuộc tính tiêu đề bằng cách sử dụng PR_SUBJECT (ANSI) tag.
  5. Nếu không tìm thấy thuộc tính tiêu đề ANSI, hãy thử lấy thuộc tính tiêu đề Unicode bằng cách sử dụng PR_SUBJECT_W.
  6. Nếu thuộc tính tiêu đề tồn tại, in giá trị chuỗi của nó ra console.

Đặt Thuộc tính MAPI

Các thuộc tính MAPI có thể được đặt cho tin nhắn hoặc người nhận để định nghĩa các thuộc tính tùy chỉnh, loại email hoặc trạng thái đồng bộ.

Mẫu mã dưới đây minh họa cách tạo một tin nhắn MAPI, thiết lập nhiều thuộc tính MAPI tùy chỉnh bao gồm chi tiết người gửi và người nhận, cờ tin nhắn và thời gian sửa đổi, sau đó lưu tin nhắn vào tệp.

Note: Trợ giúp ConvertDateTime() chuyển System::DateTime thành mảng byte loại filetime tương thích MAPI cho các thuộc tính ngày/giờ theo cách sau:

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);

Đọc các Thuộc tính MAPI có tên

Named MAPI properties là các thuộc tính tùy chỉnh được người dùng hoặc ứng dụng thêm vào.

Aspose.Email cho phép đọc các thuộc tính này từ tin nhắn và tệp đính kèm.

Đọc các thuộc tính MAPI có tên từ tệp MSG

Mẫu mã dưới đây minh họa cách tải tệp tin nhắn MAPI, lấy tất cả các thuộc tính MAPI có tên của nó, và lặp qua chúng để tìm và hiển thị giá trị của các thuộc tính có tên cụ thể ("TEST" và "MYPROP"). Nó cho thấy cách truy cập các thuộc tính tùy chỉnh hoặc mở rộng trong tin nhắn MAPI bằng cách liệt kê bộ sưu tập thuộc tính và xử lý có điều kiện dựa trên định danh tên của chúng.

Truy cập các thuộc tính MAPI có tên trong tệp đính kèm

Các thuộc tính MAPI có tên trong tệp đính kèm có thể được lấy tương tự:

Xóa các thuộc tính MAPI

Bạn có thể xóa cả thuộc tính MAPI chuẩn và có tên khỏi tin nhắn hoặc tệp đính kèm như trong mẫu mã dưới đây: