การจัดการรายชื่อผู้ติดต่อ Outlook ในไฟล์ PST

การสร้าง, บันทึกและอ่านรายชื่อติดต่อ

Aspose.Email อนุญาตให้คุณสร้างและจัดการรายชื่อติดต่อ Outlook. The MapiContact class มีคุณสมบัติเกี่ยวกับการติดต่อทั้งหมดที่จำเป็นสำหรับการสร้างและจัดการรายชื่อติดต่อ Outlook บทความนี้แสดงวิธีสร้าง บันทึก และอ่านรายชื่อติดต่อ Outlook โดยใช้ MapiContact คลาส.

สร้างและบันทึกรายชื่อติดต่อ Outlook

เพื่อสร้างรายชื่อติดต่อและบันทึกลงดิสก์ ให้ทำตามขั้นตอนต่อไปนี้:

  1. สร้างวัตถุใหม่ของ MapiContact คลาส.
  2. ป้อนข้อมูลคุณสมบัติของรายชื่อติดต่อ.
  3. เพิ่มข้อมูลรูปภาพ (ถ้ามี).
  4. บันทึกผู้ติดต่อเป็นรูปแบบ 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 คลาส.

  1. สร้างอินสแตนซ์ใหม่ของ VCardSaveOptions คลาส.
  2. ตั้งค่าคุณสมบัติ version ของอ็อบเจกต์ VCardSaveOptions เป็น VCardVersion.V30 ซึ่งจะตั้งค่าเวอร์ชันของ vCard เป็น 3.0.
  3. เรียกใช้ บันทึก เมธอดของอ็อบเจกต์ 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 เดิม:

  1. โหลดไฟล์ MSG เป็น MapiMessage อ็อบเจ็กต์.
  2. แปลงข้อความเป็นรูปแบบ EML.
  3. เตรียมตัวเลือกการบันทึก MHT:
    • เปิดใช้งานการเข้ารหัสเนื้อหาของบอดี้และคงขอบเขตดั้งเดิม.
    • ตั้งค่าตัวเลือกรูปแบบ MHT เพื่อเขียนส่วนหัวและเรนเดอร์ข้อมูล vCard.
  4. กำหนดฟิลด์ที่จะเรนเดอร์ใน MHT.
  5. บันทึกไฟล์ EML เป็นไฟล์ MHTML.