Работа с контактами в файле PST

Добавление контакта в PST

Создание нового PST-файла и добавление подпапок показало, как создать файл PST и добавить к нему подпапку. С Aspose.Email вы можете добавить MapiContact в подпапку Contacts PST‑файла, который вы создали или загрузили. Ниже перечислены шаги по добавлению MapiContact в PST:

  1. Создайте объект MapiContact.
  2. Установите свойства MapiContact, используя различные конструкторы и методы.
  3. Создайте PST с помощью метода PersonalStorage.create().
  4. Создайте предопределённую папку (Contacts) в корне файла PST, получив доступ к корневой папке и вызвав метод add_mapi_message_item().

Следующий фрагмент кода показывает, как создать MapiContact и добавить его в папку контактов нового файла PST.

Сохранить информацию о контактах из PST‑файла в формате MSG

В этой статье объясняется, как получить контактную информацию из файла Outlook PST и сохранить контакт на диск в формате MSG. Для получения и отображения контактных данных используются классы PersonalStorage и MapiContact. Шаги для получения контактной информации:

  1. Загрузите PST‑файл с помощью класса PersonalStorage.
  2. Просмотреть папку Contacts.
  3. Получить содержимое папки Contacts, чтобы получить коллекцию сообщений.
  4. Перебрать коллекцию сообщений.
  5. Вызовите метод PersonalStorage.extract_message(), чтобы получить контактную информацию в классе MapiMessage.
  6. Вызовите метод MapiMessage.save(), чтобы сохранить контакт на диск в формате MSG.

Следующий фрагмент кода показывает, как получить всю контактную информацию из PST‑файла и сохранить её на диск в формате MSG.

Сохранение контактной информации из PST‑файла в формате VCF

В этой статье показано, как получить контактную информацию из файла Microsoft Outlook PST и сохранить контакт на диск в формате vCard (VCF). Для получения контактных данных из PST‑файла используются классы PersonalStorage и MapiContact. Чтобы получить контактную информацию:

  1. Загрузите PST‑файл с помощью класса PersonalStorage.
  2. Просмотреть папку Contacts.
  3. Получить содержимое папки Contacts, чтобы получить коллекцию сообщений.
  4. Перебрать коллекцию сообщений.
  5. Вызовите метод PersonalStorage.extract_message(), чтобы получить контактную информацию в классе MapiContact.
  6. Используйте различные свойства класса MapiContact для доступа к контактной информации.

Приведённая ниже программа загружает PST‑файл с диска и сохраняет все контакты в формате vCard (VCF). Полученные файлы VCF затем можно использовать в любой другой программе, способной открыть стандартный файл vCard. Если открыть любой файл VCF в Microsoft Outlook, он будет выглядеть как на скриншоте ниже.

|todo:image_alt_text| | :- | Следующий фрагмент кода показывает, как экспортировать контакты из Outlook PST в формат vCard (VCF).

from aspose.email.storage.pst import PersonalStorage
from aspose.email.mapi import ContactSaveFormat

# Load the Outlook PST file
pst = PersonalStorage.from_file("my.pst")

# Get the Contacts folder
folder_info = pst.root_folder.get_sub_folder("Contacts")

# Loop through all the contacts in this folder
message_info_collection = folder_info.get_contents()
for message_info in message_info_collection:
    # Get the contact information
    contact = pst.extract_message(message_info).to_mapi_message_item()

    # Display some contents on screen
    print("Name: " + contact.name_info.display_name + " - " + message_info.entry_id_string)

    # Save to disk in vCard VCF format
    contact.save("D:\\" + contact.name_info.display_name + ".vcf", ContactSaveFormat.V_CARD)

Работа со списками рассылки

Можно создать список рассылки с помощью API Aspose.Email, который представляет собой набор нескольких контактов. Список рассылки может быть сохранён на диск в формате Outlook MSG и может быть просмотрен/управляем при открытии в MS Outlook.

Создание и сохранение списка рассылки

Следующий фрагмент кода показывает, как создать и сохранить список рассылки.

Чтение списка рассылки из PST

Следующий фрагмент кода показывает, как прочитать список рассылки из PST.

from aspose.email.mapi import MapiMessage

# Load the MAPI message from file
message = MapiMessage.load("dl.msg")

# Convert the message to MAPI distribution list
dlist = message.to_mapi_message_item()