Управление на Outlook контакти в PST файлове

Създаване, запазване и четене на контакти

Aspose.Email ви позволява да създавате и обработвате Outlook контакти. Това MapiContact клас предоставя всички свойства, свързани с контакти, необходими за създаване и манипулиране на 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 клас, който може да се използва за зареждане както на Outlook MSG, така и на VCard формат контакти.

За зареждане на контакт от MSG, използвайте следния примерен код:

За зареждане на контакт от VCard, използвайте следния примерен код:

Зареждане на контакти с указан кодиране

Следният кодов откъс показва как да заредите контакт от vcard с указаното кодиране.

Запазване на VCard файлове с персонализирано кодиране на символи

При запазване на vCard файл, можете да зададете кодировката на знаците, за да осигурите съвместимост с не-ASCII символи. Например, задаването на свойството preferred_text_encoding на VCardSaveOptions обект към "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 клас зададен на 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 файл.