
- ประเภทของคุณสมบัติ MAPI
- การแสดงรายการคุณสมบัติ MAPI ทั้งหมด
- การแสดงรายการคุณสมบัติ MAPI ชื่อ
- การเรียกคืนคุณสมัติตามตัวอธิบาย
- การเรียกคืนคุณสมัติตามแท็ก
- การใช้เมธอด GetProperty
- การทำงานกับคุณสมัติกำหนดเอง
การจัดการข้อมูลอีเมลทางโปรแกรมอาจซับซ้อน โดยเฉพาะเมื่อทำงานกับคุณสมบัติของ 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:
- โหลดไฟล์ข้อความ MAPI จากเส้นทางที่ระบุ
- วนซ้ำผ่านคอลเลกชัน
msg.Properties.Values
เพื่อเข้าถึงแต่ละคุณสมบัติ - สำหรับแต่ละคุณสมบัติ MAPI ให้พิมพ์แท็ก ชื่อที่เป็นมาตรฐาน และประเภทข้อมูล:
- แท็ก ให้หมายเลขประจำตัวที่ไม่ซ้ำกันสำหรับคุณสมบัติ MAPI
- Descriptor.CanonicalName ให้ชื่อที่อ่านได้ของคุณสมบัติ
- Descriptor.DataType แสดงประเภทข้อมูลของคุณสมบัติ
การแสดงรายการคุณสมบัติ MAPI ชื่อ
ในขณะที่คุณสมบัติ MAPI ปกติถูกระบุโดยแท็กคุณสมบัติ 16 บิตซึ่งประกอบด้วยประเภทของคุณสมบัติและหมายเลขประจำตัวของคุณสมบัติ คุณสมบัติชื่อถูกระบุโดยการรวมกันของ GUID และชื่อสตริงหรือหมายเลขประจำตัวแบบจำนวนเต็ม:
- GUID (Globally Unique Identifier): หมายเลขประจำตัวที่ไม่ซ้ำกันที่ทำให้ชุดคุณสมบัติไม่ซ้ำกัน GUID นี้มักจะถูกจัดเตรียมโดยนักพัฒนา
- ชื่อหรือ ID:
- ชื่อสตริง (มีความไวต่อขนาดตัวอักษร)
- หมายเลขประจำตัวแบบจำนวนเต็ม 32 บิต
ตัวอย่างโค้ดด้านล่างแสดงวิธีการใช้ Aspose.Email สำหรับ .NET เพื่อวนซ้ำผ่านคุณสมบัติ MAPI ชื่อของข้อความและพิมพ์ข้อมูลโดยละเอียดตามประเภทของตัวอธิบายคุณสมบัติ:
- วนซ้ำผ่านแต่ละคุณสมบัติชื่อโดยการเข้าถึงคอลเลกชัน ‘NamedProperties.Values’ ของวัตถุ MapiMessage ที่โหลดมาเพื่อให้ได้คุณสมบัติ MAPI ชื่อทั้งหมด
- ตรวจสอบว่าตัวอธิบายของคุณสมบัติชื่อปัจจุบันเป็นประเภท PidNamePropertyDescriptor หรือไม่ ถ้าใช่ ให้แคสต์ตัวอธิบายเป็น PidNamePropertyDescriptor พิมพ์ GUID ชื่อทางการ และประเภทข้อมูลของคุณสมบัติ
- ตรวจสอบว่าตัวอธิบายของคุณสมบัติชื่อปัจจุบันเป็นประเภท PidLidPropertyDescriptor หรือไม่ ถ้าใช่ ให้แคสต์ตัวอธิบายเป็น PidLidPropertyDescriptor พิมพ์ GUID ชื่อทางการ หมายเลขประจำตัวยาว และประเภทข้อมูลของคุณสมบัติ
ดังนั้นเราจึงได้พิมพ์คุณสมบัติเฉพาะเช่น PropertySet
, CanonicalName
, DataType
, และ LongId
ขึ้นอยู่กับประเภทของตัวอธิบาย (PidNamePropertyDescriptor
หรือ PidLidPropertyDescriptor
)
การเรียกคืนคุณสมัติตามตัวอธิบาย
การเรียกคืนคุณสมัติตามตัวอธิบายเป็นวิธีที่ตรงไปตรงมาในการเข้าถึงคุณสมบัติ MAPI ที่เฉพาะเจาะจงโดยไม่ต้องวนซ้ำผ่านคอลเลกชันคุณสมบัติทั้งหมด Aspose.Email สำหรับ .NET ให้วิธีที่สะดวกในการเรียกคืนคุณสมบัติโดยใช้ KnownPropertyList ตัวอย่างโค้ดด้านล่างนี้แสดงวิธีการเรียกคืนและพิมพ์รายละเอียดของคุณสมบัติที่เฉพาะเจาะจง เช่น InternetMessageId หากมันมีอยู่
- เข้าถึงคุณสมัติ InternetMessageId จากคอลเลกชัน Properties ของวัตถุ MapiMessage โดยใช้ KnownPropertyList
- ตรวจสอบว่าคุณสมบัติไม่เป็น null เพื่อให้แน่ใจว่ามันมีอยู่ในข้อความ
- พิมพ์รายละเอียดของคุณสมบัติที่เรียกคืน: แท็ก ชื่อที่เป็นมาตรฐาน และประเภทข้อมูล
- หากประเภทข้อมูลของคุณสมบัติเป็นสตริง ให้ใช้เมธอด GetString เพื่อเรียกคืนค่าของคุณสมบัติและพิมพ์มัน
การเรียกคืนคุณสมัติตามแท็ก
แท็กคุณสมบัติเป็นหมายเลขประจำตัว 32 บิตที่ระบุคุณสมบัติ MAPI ได้อย่างไม่ซ้ำกัน มันประกอบด้วยหมายเลขประจำตัวของคุณสมบัติและประเภทของคุณสมบัติ โดยใช้แท็กคุณสมบัติ คุณสามารถเข้าถึงคุณสมบัติที่เฉพาะเจาะจงภายในข้อความ MAPI ได้อย่างตรงไปตรงมา ตัวอย่างโค้ดด้านล่างนี้แสดงวิธีการเรียกคืนและพิมพ์รายละเอียดของคุณสมบัติที่เฉพาะเจาะจง เช่น PR_HASATTACH หากมันมีอยู่
- ใช้ MapiPropertyTag เพื่อเข้าถึงคุณสมบัติ PR_HASATTACH โดยตรงจากคอลเลกชัน Properties ของวัตถุ MapiMessage
- ตรวจสอบว่าคุณสมบัติไม่เป็น null เพื่อให้แน่ใจว่ามันมีอยู่ในข้อความ
- พิมพ์รายละเอียดของคุณสมบัติที่เรียกคืน: แท็กและประเภทข้อมูล
- หากประเภทข้อมูลของคุณสมบัติเป็น boolean ให้ใช้เมธอด GetBoolean เพื่อเรียกคืนค่าของคุณสมบัติและพิมพ์ว่าข้อความมีไฟล์แนบหรือไม่
การใช้เมธอด GetProperty
เมธอด GetProperty ทำให้กระบวนการเรียกคืนคุณสมบัติทั้งปกติและชื่อจากข้อความ MAPI ง่ายขึ้น เมธอดนี้ช่วยให้คุณเข้าถึงคุณสมบัติได้โดยตรงตามตัวอธิบายหรือแท็กโดยไม่ต้องตรวจสอบคอลเลกชันคุณสมบัติด้วยตนเอง ตัวอย่างโค้ดด้านล่างนี้แสดงวิธีการใช้เมธอด GetProperty เพื่อเข้าถึงคุณสมบัติ MAPI เฉพาะ:
- ใช้เมธอด GetProperty เพื่อเข้าถึงคุณสมบัติ CurrentVersionName โดยตรงจากคลาส KnownPropertyList
- ตรวจสอบว่าคุณสมบัติไม่เป็น null เพื่อให้แน่ใจว่ามันมีอยู่ในข้อความ
- ใช้เมธอด GetString เพื่อเรียกคืนค่าของคุณสมบัติและพิมพ์มัน
ที่นี่ GetProperty
ถูกใช้เพื่อเข้าถึงคุณสมบัติ CurrentVersionName
โดยตรง
การทำงานกับคุณสมัติกำหนดเอง
คุณสมบัติ MAPI กำหนดเองเป็นคุณสมบัติเพิ่มเติมที่ไม่เป็นส่วนหนึ่งของชุดคุณสมบัติ MAPI ที่กำหนดไว้ล่วงหน้า พวกเขาถูกสร้างขึ้นเพื่อเก็บข้อมูลเฉพาะของแอปพลิเคชันและถูกกำหนดโดยนักพัฒนา โดยอนุญาตให้นักพัฒนากำหนดและใช้คุณสมบัติเพิ่มเติม MAPI จึงให้วิธีการที่ยืดหยุ่นและมีประสิทธิภาพในการจัดเก็บและจัดการข้อมูลที่กำหนดเองภายในแอปพลิเคชันการส่งข้อความ คุณสมบัติกำหนดเองคือ คุณสมบัติชื่อ (ใช้ GUID และชื่อสตริง) Aspose.Email แนะนำวิธีที่คุณสามารถใช้เพื่อดึงคุณสมบัติกำหนดเองทั้งหมดที่กำหนดในข้อความ นี่คือการทำได้โดยใช้เมธอด GetCustomProperties ตัวอย่างโค้ดด้านล่างนี้แสดงถึงวิธีการดึงและพิมพ์คุณสมบัติกำหนดเองทั้งหมดที่กำหนดในข้อความ MAPI:
- ใช้เมธอด GetCustomProperties เพื่อรับคอลเลกชันของคุณสมบัติกำหนดเองทั้งหมดที่กำหนดในข้อความ
- วนซ้ำผ่านแต่ละคุณสมบัติในคอลเลกชันที่ดึงมา
- พิมพ์รายละเอียดของคุณสมบัติ: แท็ก ชื่อที่เป็นมาตรฐาน และประเภทข้อมูล
บทสรุป
บทความนี้ได้สำรวจเทคนิคต่าง ๆ ในการเข้าถึง นับ และจัดการคุณสมบัติ MAPI โดยใช้ Aspose.Email สำหรับ .NET Aspose.Email ให้การสนับสนุนที่ครอบคลุมในการจัดการคุณสมบัติเหล่านี้ ช่วยให้นักพัฒนาสามารถจัดการและจัดการข้อมูลอีเมลด้วยการควบคุมรายละเอียด โดยการใช้ไลบรารีนี้ นักพัฒนาสามารถสร้างโซลูชันการจัดการและประมวลผลอีเมลที่ซับซ้อน ทำให้ทำงานกับคุณสมบัติมาตรฐาน ชื่อ และกำหนดเองได้ง่ายขึ้น
นอกจากนี้ Aspose.Email ยังมี เอกสาร ที่ครอบคลุมและ เอกสาร API ที่กว้างขวาง รวมถึงเครื่องมือออนไลน์และ แอปพลิเคชัน ฟรีมากมายเพื่อเพิ่มประสิทธิภาพกระบวนการพัฒนาของคุณ นักพัฒนายังสามารถเข้าถึง ฟอรัมสนับสนุนฟรี สำหรับความช่วยเหลือและข้อมูลเชิงลึกจากชุมชน และติดตามเคล็ดลับและบทเรียนล่าสุดผ่าน บล็อก ของ Aspose แหล่งข้อมูลเหล่านี้มีคุณค่าในการเพิ่มศักยภาพของไลบรารีในโครงการของคุณ