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

การจัดการข้อมูลอีเมลทางโปรแกรมอาจซับซ้อน โดยเฉพาะเมื่อทำงานกับคุณสมบัติของ Messaging Application Programming Interface (MAPI) คุณสมบัติเหล่านี้เป็นคุณลักษณะหรือข้อมูลเมตาที่เกี่ยวข้องกับวัตถุ MAPI เช่น ข้อความ โฟลเดอร์ ผู้รับ และส่วนประกอบอื่น ๆ ในระบบการส่งข้อความ คุณสมบัติเหล่านี้ให้ข้อมูลรายละเอียดเกี่ยวกับวัตถุ เช่น หัวข้อของอีเมล ที่อยู่ของผู้ส่ง วันที่ส่งอีเมล และอื่น ๆ คุณสมบัติ MAPI ถูกใช้อย่างกว้างขวางในไคลเอนต์อีเมลและแอปพลิเคชันการส่งข้อความอื่น ๆ เพื่อจัดการและจัดการข้อมูลอีเมล บทความนี้เจาะลึกเทคนิคต่าง ๆ ในการเข้าถึง นับ และจัดการคุณสมบัติ MAPI โดยใช้ Aspose.Email สำหรับ .NET.

.NET API ในการจัดการคุณสมบัติ MAPI ใน C#

Aspose.Email สำหรับ .NET ให้การสนับสนุนที่ครอบคลุมในการจัดการคุณสมบัติของ Messaging Application Programming Interface ช่วยให้นักพัฒนาสามารถจัดการและจัดการข้อมูลอีเมลด้วยการควบคุมรายละเอียด นอกจากนี้ยังเป็น API ที่ครอบคลุมที่อนุญาตให้นักพัฒนาติดตั้งคุณสมบัติที่แข็งแกร่งสำหรับการประมวลผลข้อความและงานที่เกี่ยวข้องอื่น ๆ ในแอปพลิเคชันอีเมล

โดยใช้ Aspose.Email สำหรับ .NET นักพัฒนาสามารถสร้างโซลูชันการจัดการและประมวลผลอีเมลที่ซับซ้อน เพื่อเริ่มต้นใช้งานไลบรารีนี้ คุณสามารถ ดาวน์โหลด มันจากเว็บไซต์ Aspose หรือ NuGet และรวมเข้ากับโปรเจ็กต์ของคุณ

ประเภทของคุณสมบัติ MAPI

ตรวจสอบให้แน่ใจว่าคุณมี Aspose.Email ในโครงการของคุณ และเริ่มต้นกันเลย คุณสมบัติ MAPI สามารถแบ่งออกเป็นสามประเภทหลัก: คุณสมบัติมาตรฐาน คุณสมบัติชื่อ และคุณสมัติกำหนดเอง (ที่ผู้ใช้กำหนด) แต่ละประเภทมีวัตถุประสงค์ที่แตกต่างกันและให้ระดับความยืดหยุ่นและการควบคุมที่แตกต่างกันสำหรับนักพัฒนาที่ทำงานกับข้อมูลอีเมล นี่คือภาพรวมของแต่ละประเภท:

คุณสมบัติมาตรฐาน

กำหนดโดยข้อกำหนด MAPI พวกเขามีแท็กคุณสมบัติกำหนดไว้ล่วงหน้าและถูกใช้กันอย่างแพร่หลายสำหรับคุณลักษณะมาตรฐานของวัตถุการส่งข้อความ ตัวอย่างเช่น:

  • PR_SUBJECT: หัวข้อของข้อความ
  • PR_SENDER_NAME: ชื่อของผู้ส่ง
  • PR_DELIVER_TIME: วันที่และเวลาที่ข้อความต้นฉบับถูกส่ง

คุณสมบัติชื่อ

ระบุโดย GUID และชื่อสตริงหรือหมายเลขประจำตัวแบบจำนวนเต็ม คุณสมบัติเหล่านี้ช่วยให้สามารถจัดประเภทและระบุที่เฉพาะเจาะจงมากขึ้นนอกเหนือจากคุณสมบัติมาตรฐาน

คุณสมัติกำหนดเอง (ที่ผู้ใช้กำหนด)

กำหนดโดยนักพัฒนา พวกเขาขยายฟังก์ชันการทำงานของวัตถุ MAPI โดยอนุญาตให้จัดการข้อมูลที่ปรับแต่งและเฉพาะสำหรับแอปพลิเคชัน

การแสดงรายการคุณสมบัติ MAPI ทั้งหมด

ในการแสดงรายการคุณสมบัติ MAPI ทั้งหมดในข้อความ เราจะใช้เมธอด MapiMessage.Load เพื่อโหลดข้อความและวนซ้ำผ่านคุณสมบัติของมัน ตัวอย่างโค้ดด้านล่างนี้แสดงถึงวิธีการโหลดข้อความ MAPI วนซ้ำผ่านคุณสมบัติของมัน และพิมพ์ข้อมูลโดยละเอียดเกี่ยวกับแต่ละคุณสมบัติโดยใช้ Aspose.Email สำหรับ .NET:

  1. โหลดไฟล์ข้อความ MAPI จากเส้นทางที่ระบุ
  2. วนซ้ำผ่านคอลเลกชัน msg.Properties.Values เพื่อเข้าถึงแต่ละคุณสมบัติ
  3. สำหรับแต่ละคุณสมบัติ MAPI ให้พิมพ์แท็ก ชื่อที่เป็นมาตรฐาน และประเภทข้อมูล:
    • แท็ก ให้หมายเลขประจำตัวที่ไม่ซ้ำกันสำหรับคุณสมบัติ MAPI
    • Descriptor.CanonicalName ให้ชื่อที่อ่านได้ของคุณสมบัติ
    • Descriptor.DataType แสดงประเภทข้อมูลของคุณสมบัติ

การแสดงรายการคุณสมบัติ MAPI ชื่อ

ในขณะที่คุณสมบัติ MAPI ปกติถูกระบุโดยแท็กคุณสมบัติ 16 บิตซึ่งประกอบด้วยประเภทของคุณสมบัติและหมายเลขประจำตัวของคุณสมบัติ คุณสมบัติชื่อถูกระบุโดยการรวมกันของ GUID และชื่อสตริงหรือหมายเลขประจำตัวแบบจำนวนเต็ม:

  • GUID (Globally Unique Identifier): หมายเลขประจำตัวที่ไม่ซ้ำกันที่ทำให้ชุดคุณสมบัติไม่ซ้ำกัน GUID นี้มักจะถูกจัดเตรียมโดยนักพัฒนา
  • ชื่อหรือ ID:
    • ชื่อสตริง (มีความไวต่อขนาดตัวอักษร)
    • หมายเลขประจำตัวแบบจำนวนเต็ม 32 บิต

ตัวอย่างโค้ดด้านล่างแสดงวิธีการใช้ Aspose.Email สำหรับ .NET เพื่อวนซ้ำผ่านคุณสมบัติ MAPI ชื่อของข้อความและพิมพ์ข้อมูลโดยละเอียดตามประเภทของตัวอธิบายคุณสมบัติ:

  1. วนซ้ำผ่านแต่ละคุณสมบัติชื่อโดยการเข้าถึงคอลเลกชัน ‘NamedProperties.Values’ ของวัตถุ MapiMessage ที่โหลดมาเพื่อให้ได้คุณสมบัติ MAPI ชื่อทั้งหมด
  2. ตรวจสอบว่าตัวอธิบายของคุณสมบัติชื่อปัจจุบันเป็นประเภท PidNamePropertyDescriptor หรือไม่ ถ้าใช่ ให้แคสต์ตัวอธิบายเป็น PidNamePropertyDescriptor พิมพ์ GUID ชื่อทางการ และประเภทข้อมูลของคุณสมบัติ
  3. ตรวจสอบว่าตัวอธิบายของคุณสมบัติชื่อปัจจุบันเป็นประเภท PidLidPropertyDescriptor หรือไม่ ถ้าใช่ ให้แคสต์ตัวอธิบายเป็น PidLidPropertyDescriptor พิมพ์ GUID ชื่อทางการ หมายเลขประจำตัวยาว และประเภทข้อมูลของคุณสมบัติ

ดังนั้นเราจึงได้พิมพ์คุณสมบัติเฉพาะเช่น PropertySet, CanonicalName, DataType, และ LongId ขึ้นอยู่กับประเภทของตัวอธิบาย (PidNamePropertyDescriptor หรือ PidLidPropertyDescriptor)

การเรียกคืนคุณสมัติตามตัวอธิบาย

การเรียกคืนคุณสมัติตามตัวอธิบายเป็นวิธีที่ตรงไปตรงมาในการเข้าถึงคุณสมบัติ MAPI ที่เฉพาะเจาะจงโดยไม่ต้องวนซ้ำผ่านคอลเลกชันคุณสมบัติทั้งหมด Aspose.Email สำหรับ .NET ให้วิธีที่สะดวกในการเรียกคืนคุณสมบัติโดยใช้ KnownPropertyList ตัวอย่างโค้ดด้านล่างนี้แสดงวิธีการเรียกคืนและพิมพ์รายละเอียดของคุณสมบัติที่เฉพาะเจาะจง เช่น InternetMessageId หากมันมีอยู่

  1. เข้าถึงคุณสมัติ InternetMessageId จากคอลเลกชัน Properties ของวัตถุ MapiMessage โดยใช้ KnownPropertyList
  2. ตรวจสอบว่าคุณสมบัติไม่เป็น null เพื่อให้แน่ใจว่ามันมีอยู่ในข้อความ
  3. พิมพ์รายละเอียดของคุณสมบัติที่เรียกคืน: แท็ก ชื่อที่เป็นมาตรฐาน และประเภทข้อมูล
  4. หากประเภทข้อมูลของคุณสมบัติเป็นสตริง ให้ใช้เมธอด GetString เพื่อเรียกคืนค่าของคุณสมบัติและพิมพ์มัน

การเรียกคืนคุณสมัติตามแท็ก

แท็กคุณสมบัติเป็นหมายเลขประจำตัว 32 บิตที่ระบุคุณสมบัติ MAPI ได้อย่างไม่ซ้ำกัน มันประกอบด้วยหมายเลขประจำตัวของคุณสมบัติและประเภทของคุณสมบัติ โดยใช้แท็กคุณสมบัติ คุณสามารถเข้าถึงคุณสมบัติที่เฉพาะเจาะจงภายในข้อความ MAPI ได้อย่างตรงไปตรงมา ตัวอย่างโค้ดด้านล่างนี้แสดงวิธีการเรียกคืนและพิมพ์รายละเอียดของคุณสมบัติที่เฉพาะเจาะจง เช่น PR_HASATTACH หากมันมีอยู่

  1. ใช้ MapiPropertyTag เพื่อเข้าถึงคุณสมบัติ PR_HASATTACH โดยตรงจากคอลเลกชัน Properties ของวัตถุ MapiMessage
  2. ตรวจสอบว่าคุณสมบัติไม่เป็น null เพื่อให้แน่ใจว่ามันมีอยู่ในข้อความ
  3. พิมพ์รายละเอียดของคุณสมบัติที่เรียกคืน: แท็กและประเภทข้อมูล
  4. หากประเภทข้อมูลของคุณสมบัติเป็น boolean ให้ใช้เมธอด GetBoolean เพื่อเรียกคืนค่าของคุณสมบัติและพิมพ์ว่าข้อความมีไฟล์แนบหรือไม่

การใช้เมธอด GetProperty

เมธอด GetProperty ทำให้กระบวนการเรียกคืนคุณสมบัติทั้งปกติและชื่อจากข้อความ MAPI ง่ายขึ้น เมธอดนี้ช่วยให้คุณเข้าถึงคุณสมบัติได้โดยตรงตามตัวอธิบายหรือแท็กโดยไม่ต้องตรวจสอบคอลเลกชันคุณสมบัติด้วยตนเอง ตัวอย่างโค้ดด้านล่างนี้แสดงวิธีการใช้เมธอด GetProperty เพื่อเข้าถึงคุณสมบัติ MAPI เฉพาะ:

  1. ใช้เมธอด GetProperty เพื่อเข้าถึงคุณสมบัติ CurrentVersionName โดยตรงจากคลาส KnownPropertyList
  2. ตรวจสอบว่าคุณสมบัติไม่เป็น null เพื่อให้แน่ใจว่ามันมีอยู่ในข้อความ
  3. ใช้เมธอด GetString เพื่อเรียกคืนค่าของคุณสมบัติและพิมพ์มัน

ที่นี่ GetProperty ถูกใช้เพื่อเข้าถึงคุณสมบัติ CurrentVersionName โดยตรง

การทำงานกับคุณสมัติกำหนดเอง

คุณสมบัติ MAPI กำหนดเองเป็นคุณสมบัติเพิ่มเติมที่ไม่เป็นส่วนหนึ่งของชุดคุณสมบัติ MAPI ที่กำหนดไว้ล่วงหน้า พวกเขาถูกสร้างขึ้นเพื่อเก็บข้อมูลเฉพาะของแอปพลิเคชันและถูกกำหนดโดยนักพัฒนา โดยอนุญาตให้นักพัฒนากำหนดและใช้คุณสมบัติเพิ่มเติม MAPI จึงให้วิธีการที่ยืดหยุ่นและมีประสิทธิภาพในการจัดเก็บและจัดการข้อมูลที่กำหนดเองภายในแอปพลิเคชันการส่งข้อความ คุณสมบัติกำหนดเองคือ คุณสมบัติชื่อ (ใช้ GUID และชื่อสตริง) Aspose.Email แนะนำวิธีที่คุณสามารถใช้เพื่อดึงคุณสมบัติกำหนดเองทั้งหมดที่กำหนดในข้อความ นี่คือการทำได้โดยใช้เมธอด GetCustomProperties ตัวอย่างโค้ดด้านล่างนี้แสดงถึงวิธีการดึงและพิมพ์คุณสมบัติกำหนดเองทั้งหมดที่กำหนดในข้อความ MAPI:

  1. ใช้เมธอด GetCustomProperties เพื่อรับคอลเลกชันของคุณสมบัติกำหนดเองทั้งหมดที่กำหนดในข้อความ
  2. วนซ้ำผ่านแต่ละคุณสมบัติในคอลเลกชันที่ดึงมา
  3. พิมพ์รายละเอียดของคุณสมบัติ: แท็ก ชื่อที่เป็นมาตรฐาน และประเภทข้อมูล

บทสรุป

บทความนี้ได้สำรวจเทคนิคต่าง ๆ ในการเข้าถึง นับ และจัดการคุณสมบัติ MAPI โดยใช้ Aspose.Email สำหรับ .NET Aspose.Email ให้การสนับสนุนที่ครอบคลุมในการจัดการคุณสมบัติเหล่านี้ ช่วยให้นักพัฒนาสามารถจัดการและจัดการข้อมูลอีเมลด้วยการควบคุมรายละเอียด โดยการใช้ไลบรารีนี้ นักพัฒนาสามารถสร้างโซลูชันการจัดการและประมวลผลอีเมลที่ซับซ้อน ทำให้ทำงานกับคุณสมบัติมาตรฐาน ชื่อ และกำหนดเองได้ง่ายขึ้น

นอกจากนี้ Aspose.Email ยังมี เอกสาร ที่ครอบคลุมและ เอกสาร API ที่กว้างขวาง รวมถึงเครื่องมือออนไลน์และ แอปพลิเคชัน ฟรีมากมายเพื่อเพิ่มประสิทธิภาพกระบวนการพัฒนาของคุณ นักพัฒนายังสามารถเข้าถึง ฟอรัมสนับสนุนฟรี สำหรับความช่วยเหลือและข้อมูลเชิงลึกจากชุมชน และติดตามเคล็ดลับและบทเรียนล่าสุดผ่าน บล็อก ของ Aspose แหล่งข้อมูลเหล่านี้มีคุณค่าในการเพิ่มศักยภาพของไลบรารีในโครงการของคุณ

ดูเพิ่มเติม