Керування контактами 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

The 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.