เข้าถึงและจัดการคุณสมบัติ MAPI ของ Outlook

MAPI properties คือรายการเมทาดาต้าที่ใช้ในข้อความ Microsoft Outlook, กำหนดแอตทริบิวต์เช่น ผู้ส่ง, ผู้รับ, เรื่อง, ไฟล์แนบ, และข้อมูลที่กำหนดเอง.

Aspose.Email for C++ อนุญาตให้ผู้พัฒนาสามารถเข้าถึง, แก้ไข, และลบคุณสมบัติเหล่านี้โดยโปรแกรมใน MapiMessage อ็อบเจ็กต์, ไฟล์แนบ, และคุณสมบัติที่มีชื่อ.

นี้ MapiProperty คลาสนี้แสดงถึงคุณสมบัติ MAPI ซึ่งประกอบด้วย:

  • Name – ตัวระบุแบบสตริงของคุณสมบัติ.
  • Tag – ตัวระบุเชิงตัวเลขที่ใช้ในการอ้างอิงคุณสมบัติ.
  • Data – อาร์เรย์ไบต์ที่เป็นตัวแทนของค่าคุณสมบัติ.

อ่านคุณสมบัติ MAPI

Aspose.Email ให้คุณอ่านคุณสมบัติ MAPI โดยใช้แท็กคุณสมบัติ.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีอ่านและแสดงคุณสมบัติหัวเรื่องจากไฟล์ข้อความ MAPI (.msg).

  1. รับเส้นทางไดเรกทอรีที่จัดเก็บไฟล์ข้อความ Outlook.
  2. โหลดไฟล์ข้อความ Outlook ("message.msg") เข้าไปใน MapiMessage อ็อบเจ็กต์.
  3. เข้าถึงคอลเลกชันของคุณสมบัติ MAPI จากข้อความ.
  4. ลองดึงคุณสมบัติหัวเรื่องโดยใช้ PR_SUBJECT (ANSI) แท็ก.
  5. หากไม่พบคุณสมบัติหัวเรื่องแบบ ANSI, ให้ลองดึงคุณสมบัติหัวเรื่องแบบ Unicode โดยใช้ PR_SUBJECT_W.
  6. หากมีคุณสมบัติหัวเรื่อง, ให้แสดงค่าข้อความของมันในคอนโซล.

ตั้งค่าคุณสมบัติ MAPI

คุณสมบัติ MAPI สามารถตั้งค่าสำหรับข้อความหรือผู้รับเพื่อกำหนดแอตทริบิวต์ที่กำหนดเอง, ประเภทอีเมล, หรือสถานะการซิงโครไนซ์.

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างข้อความ MAPI, ตั้งค่าคุณสมบัติ MAPI ที่กำหนดเองหลายรายการรวมถึงรายละเอียดผู้ส่งและผู้รับ, ธงข้อความ, และเวลาแก้ไข, จากนั้นบันทึกข้อความเป็นไฟล์.

Note: ตัวช่วย ConvertDateTime() แปลง System::DateTime เป็นอาร์เรย์ไบต์ไฟล์เวลาแบบเข้ากันได้กับ MAPI สำหรับคุณสมบัติวัน/เวลาในลักษณะต่อไปนี้:

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

อ่านคุณสมบัติ MAPI ที่ตั้งชื่อ

Named MAPI properties คือคุณสมบัติกำหนดเองที่ผู้ใช้หรือแอปพลิเคชันเพิ่มเข้ามา.

Aspose.Email อนุญาตให้อ่านคุณสมบัติเหล่านี้จากข้อความและไฟล์แนบ.

การอ่านคุณสมบัติ MAPI ที่มีชื่อจากไฟล์ MSG

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีโหลดไฟล์ข้อความ MAPI, ดึงคุณสมบัติ MAPI ที่มีชื่อทั้งหมด, และวนลูปผ่านเพื่อตรวจหาและแสดงค่าของคุณสมบัติเฉพาะที่มีชื่อ ("TEST" และ "MYPROP"). มันแสดงวิธีเข้าถึงคุณสมบัติกำหนดเองหรือขยายในข้อความ MAPI โดยการนับรายการคุณสมบัติและประมวลผลตามเงื่อนไขโดยอ้างอิงชื่อ.

การเข้าถึงคุณสมบัติ MAPI ที่มีชื่อในไฟล์แนบ

คุณสมบัติ MAPI ที่มีชื่อในไฟล์แนบสามารถดึงได้ในลักษณะเดียวกัน:

การลบคุณสมบัติ MAPI

คุณสามารถลบคุณสมบัติ MAPI มาตรฐานและคุณสมบัติที่มีชื่อจากข้อความหรือไฟล์แนบได้ตามตัวอย่างโค้ดด้านล่าง: