การจัดการรายชื่อผู้ติดต่อ Outlook ในไฟล์ PST
การสร้าง, บันทึกและอ่านรายชื่อติดต่อ
Aspose.Email อนุญาตให้คุณสร้างและจัดการรายชื่อติดต่อ Outlook. The MapiContact class มีคุณสมบัติเกี่ยวกับการติดต่อทั้งหมดที่จำเป็นสำหรับการสร้างและจัดการรายชื่อติดต่อ Outlook บทความนี้แสดงวิธีสร้าง บันทึก และอ่านรายชื่อติดต่อ Outlook โดยใช้ MapiContact คลาส.
สร้างและบันทึกรายชื่อติดต่อ Outlook
เพื่อสร้างรายชื่อติดต่อและบันทึกลงดิสก์ ให้ทำตามขั้นตอนต่อไปนี้:
- สร้างวัตถุใหม่ของ MapiContact คลาส.
- ป้อนข้อมูลคุณสมบัติของรายชื่อติดต่อ.
- เพิ่มข้อมูลรูปภาพ (ถ้ามี).
- บันทึกผู้ติดต่อเป็นรูปแบบ MSG หรือ VCard.
โค้ดตัวอย่างต่อไปนี้แสดงวิธีสร้างและบันทึกรายชื่อติดต่อ Outlook:
import aspose.email as ae
data_dir = "path/to/data/directory"
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
contact.professional_info = ae.mapi.MapiContactProfessionalPropertySet("Awthentikz", "Social work assistant")
contact.personal_info.personal_home_page = "B2BTies.com"
contact.physical_addresses.work_address.address = "Im Astenfeld 59 8580 EDELSCHROTT"
contact.electronic_addresses.email1 = ae.mapi.MapiContactElectronicAddress("Experwas", "SMTP", "BerthaABuell@armyspy.com")
contact.telephones = ae.mapi.MapiContactTelephonePropertySet("06605045265")
contact.personal_info.children = ["child1", "child2", "child3"]
contact.categories = ["category1", "category2", "category3"]
contact.mileage = "Some test mileage"
contact.billing = "Test billing information"
contact.other_fields.journal = True
contact.other_fields.private = True
contact.other_fields.reminder_topic = "Test topic"
contact.other_fields.user_field1 = "ContactUserField1"
contact.other_fields.user_field2 = "ContactUserField2"
contact.other_fields.user_field3 = "ContactUserField3"
contact.other_fields.user_field4 = "ContactUserField4"
# Add a photo
with open(data_dir + "Desert.jpg", "rb") as file:
buffer = file.read()
contact.photo = ae.mapi.MapiContactPhoto(buffer, ae.mapi.MapiContactPhotoImageFormat.JPEG)
# Save the Contact in MSG format
contact.save(data_dir + "MapiContact_out.msg", ae.mapi.ContactSaveFormat.MSG)
# Save the Contact in VCF format
contact.save(data_dir + "MapiContact_out.vcf", ae.mapi.ContactSaveFormat.V_CARD)
บันทึกรายชื่อติดต่อในรูปแบบ VCF เวอร์ชัน 3
เพื่อบันทึกรายชื่อติดต่อในรูปแบบ VCF เวอร์ชัน 3 ให้ใช้คุณสมบัติ version ของ VCardSaveOptions คลาส.
- สร้างอินสแตนซ์ใหม่ของ VCardSaveOptions คลาส.
- ตั้งค่าคุณสมบัติ version ของอ็อบเจกต์ VCardSaveOptions เป็น VCardVersion.V30 ซึ่งจะตั้งค่าเวอร์ชันของ vCard เป็น 3.0.
- เรียกใช้ บันทึก เมธอดของอ็อบเจกต์ MapiContact โดยส่งชื่อไฟล์ "contact.vcf" และอ็อบเจกต์ VCardSaveOptions เป็นพารามิเตอร์ ซึ่งจะบันทึกรายชื่อติดต่อเป็นไฟล์ vCard ด้วยชื่อไฟล์และตัวเลือกที่กำหนด.
โค้ดตัวอย่างต่อไปนี้แสดงวิธีบันทึกรายชื่อติดต่อในรูปแบบ VCF เวอร์ชัน 3:
import aspose.email as ae
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
options = ae.personalinfo.vcard.VCardSaveOptions()
options.version = ae.personalinfo.vcard.VCardVersion.V30
contact.save("contact.vcf", options)
โหลดรายชื่อติดต่อจากไฟล์ MSG หรือ VCard
นี้ MapiContact class สามารถใช้โหลดข้อมูลผู้ติดต่อในรูปแบบ Outlook MSG และ VCard ได้.
เพื่อ โหลดรายชื่อติดต่อจาก MSG ให้ใช้ตัวอย่างโค้ดด้านล่าง:
เพื่อ โหลดรายชื่อติดต่อจาก VCard ให้ใช้ตัวอย่างโค้ดต่อไปนี้:
โหลดรายชื่อติดต่อด้วยการเข้ารหัสที่ระบุ
โค้ดตัวอย่างต่อไปนี้แสดงวิธีโหลดรายชื่อติดต่อจาก vcard พร้อมการเข้ารหัสที่ระบุ.
บันทึกไฟล์ VCard พร้อมการเข้ารหัสอักขระที่กำหนดเอง
เมื่อบันทึกไฟล์ VCard คุณสามารถกำหนดการเข้ารหัสอักขระเพื่อให้เข้ากันได้กับอักขระที่ไม่ใช่ ASCII ตัวอย่างเช่น การตั้งค่าคุณสมบัติ preferred_text_encoding ของ VCardSaveOptions ตั้งค่า object เป็น "utf-8" เพื่อให้มั่นใจว่าการเข้ารหัสข้อความที่ไม่ใช่ ASCII ถูกต้อง คุณลักษณะนี้เป็นประโยชน์อย่างยิ่งสำหรับการจัดการข้อมูลผู้ติดต่อหลายภาษา ด้านล่างเป็นตัวอย่างวิธีกำหนดค่าและบันทึกไฟล์ vCard ด้วยการเข้ารหัสอักขระที่กำหนดเอง:
import aspose.email as ae
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
options = ae.personalinfo.vcard.VCardSaveOptions()
options.preferred_text_encoding = "utf-8"
contact.save("contact.vcf", options)
บันทึกไฟล์ VCard พร้อมคุณสมบัติเสริม
นอกเหนือจากฟิลด์ vCard มาตรฐาน คุณสามารถเสริมไฟล์ vCard ของคุณโดยรวมคุณสมบัติเสริมเหล่านี้ ซึ่งเป็นแอตทริบิวต์เพิ่มเติมที่ไม่ได้ระบุในสเปค vCard มาตรฐาน เพื่อเปิดใช้ให้ตั้งค่าคุณสมบัติ use_extensions ของ VCardSaveOptions ตั้งค่า class เป็น True. สิ่งนี้เป็นประโยชน์โดยเฉพาะสำหรับการเพิ่มเมตาดาต้าที่กำหนดเองหรือเฉพาะแอปพลิเคชัน ต่อไปนี้คือวิธีบันทึกไฟล์ vCard พร้อมเปิดใช้คุณสมบัติเสริม:
import aspose.email as ae
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
options = ae.personalinfo.vcard.VCardSaveOptions()
options.use_extensions = True
contact.save("contact.vcf", options)
อ่านผู้ติดต่อหลายรายการในรูปแบบ VCard
เพื่อดึงผู้ติดต่อทั้งหมดจาก VCard คุณสามารถใช้ เมธอด:
- เมธอด is_multi_contacts กำหนดว่าสตรีมมีผู้ติดต่อหลายรายการหรือไม่.
- เมธอด load_as_multiple(file_path) โหลดรายการของผู้ติดต่อทั้งหมดจากไฟล์ VCard.
- เมธอด load_as_multiple(stream) โหลดรายการของผู้ติดต่อทั้งหมดจากสตรีม VCard.
โค้ดตัวอย่างด้านล่างแสดงกระบวนการอ่านรายชื่อติดต่อหลายรายการจากไฟล์ VCard:
import aspose.email as ae
contact = ae.mapi.MapiContact()
contact.name_info = ae.mapi.MapiContactNamePropertySet("Bertha", "A.", "Buell")
options = ae.personalinfo.vcard.VCardSaveOptions()
options.use_extensions = True
contact.save("contact.vcf", options)
if ae.personalinfo.vcard.VCardContact.is_multi_contacts("contact.vcf"):
ae.personalinfo.vcard.VCardContact.load_as_multiple("contact.vcf")
เรนเดอร์ข้อมูลผู้ติดต่อเป็น MHTML
Outlook Contact สามารถแปลงเป็น MHTML โดยใช้ Aspose.Email API ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้างไฟล์ MHTML ที่มีข้อมูลรายละเอียดของผู้ติดต่อที่มาจากไฟล์ MSG เดิม:
- โหลดไฟล์ MSG เป็น MapiMessage อ็อบเจ็กต์.
- แปลงข้อความเป็นรูปแบบ EML.
- เตรียมตัวเลือกการบันทึก MHT:
- เปิดใช้งานการเข้ารหัสเนื้อหาของบอดี้และคงขอบเขตดั้งเดิม.
- ตั้งค่าตัวเลือกรูปแบบ MHT เพื่อเขียนส่วนหัวและเรนเดอร์ข้อมูล vCard.
- กำหนดฟิลด์ที่จะเรนเดอร์ใน MHT.
- บันทึกไฟล์ EML เป็นไฟล์ MHTML.