Работа с контактами в файле PST
Добавление контакта в PST
Создание нового PST-файла и добавление подпапок показало, как создать файл PST и добавить к нему подпапку. С Aspose.Email вы можете добавить MapiContact в подпапку Contacts PST‑файла, который вы создали или загрузили. Ниже перечислены шаги по добавлению MapiContact в PST:
- Создайте объект MapiContact.
- Установите свойства MapiContact, используя различные конструкторы и методы.
- Создайте PST с помощью метода PersonalStorage.create().
- Создайте предопределённую папку (Contacts) в корне файла PST, получив доступ к корневой папке и вызвав метод add_mapi_message_item().
Следующий фрагмент кода показывает, как создать MapiContact и добавить его в папку контактов нового файла PST.
Сохранить информацию о контактах из PST‑файла в формате MSG
В этой статье объясняется, как получить контактную информацию из файла Outlook PST и сохранить контакт на диск в формате MSG. Для получения и отображения контактных данных используются классы PersonalStorage и MapiContact. Шаги для получения контактной информации:
- Загрузите PST‑файл с помощью класса PersonalStorage.
- Просмотреть папку Contacts.
- Получить содержимое папки Contacts, чтобы получить коллекцию сообщений.
- Перебрать коллекцию сообщений.
- Вызовите метод PersonalStorage.extract_message(), чтобы получить контактную информацию в классе MapiMessage.
- Вызовите метод MapiMessage.save(), чтобы сохранить контакт на диск в формате MSG.
Следующий фрагмент кода показывает, как получить всю контактную информацию из PST‑файла и сохранить её на диск в формате MSG.
Сохранение контактной информации из PST‑файла в формате VCF
В этой статье показано, как получить контактную информацию из файла Microsoft Outlook PST и сохранить контакт на диск в формате vCard (VCF). Для получения контактных данных из PST‑файла используются классы PersonalStorage и MapiContact. Чтобы получить контактную информацию:
- Загрузите PST‑файл с помощью класса PersonalStorage.
- Просмотреть папку Contacts.
- Получить содержимое папки Contacts, чтобы получить коллекцию сообщений.
- Перебрать коллекцию сообщений.
- Вызовите метод PersonalStorage.extract_message(), чтобы получить контактную информацию в классе MapiContact.
- Используйте различные свойства класса MapiContact для доступа к контактной информации.
Приведённая ниже программа загружает PST‑файл с диска и сохраняет все контакты в формате vCard (VCF). Полученные файлы VCF затем можно использовать в любой другой программе, способной открыть стандартный файл vCard. Если открыть любой файл VCF в Microsoft Outlook, он будет выглядеть как на скриншоте ниже.
|
| | :- | Следующий фрагмент кода показывает, как экспортировать контакты из 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()