Управление на Outlook контакти в PST файлове
Създаване, запазване и четене на контакти
Aspose.Email ви позволява да създавате и обработвате Outlook контакти. Това MapiContact клас предоставя всички свойства, свързани с контакти, необходими за създаване и манипулиране на 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 клас, който може да се използва за зареждане както на 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 файл:
- Заредете MSG файла като MapiMessage обект.
- Конвертирайте съобщението към EML формат.
- Подгответе опциите за запазване на MHT:
- Активирайте кодиране на съдържанието на тялото и запазете оригиналните граници.
- Задайте опциите за MHT формат за записване на хедъри и рендиране на информация от vCard.
- Определете полетата за рендиране в MHT.
- Запазете EML като MHTML файл.