Управление записями журнала Outlook MAPI в файлах PST
Contents
[
Hide
]
Добавить записи MAPI Journal в PST‑файлы
Создать новый файл PST и добавить подпапки показывает, как создать новый PST‑файл и добавить в него подпапку. С помощью Aspose.Email также можно создать новую запись MAPI journal и добавить её в PST‑файл. Приведённый ниже пример кода демонстрирует, как создать запись журнала, установить её свойства и сохранить её в только что созданном PST‑файле:
- Создать запись MAPI Journal: Создайте экземпляр MapiJournal объект с темой, телом и типом.
- Задать время журнала: Определите время начала записи журнала как текущее дата‑время, используя
dt.datetime.now()и установите конечное время на один час позже, используяdt.datetime.today() + timedelta(hours=1). - Создать PST‑файл: Используйте PersonalStorage.create для создания нового PST‑файла в формате UNICODE.
- Создать папку журнала: В новом PST‑файле создайте предопределённую папку с именем "Journal" с помощью create_predefined_folder с
StandardIpmFolder.JOURNALпараметра. - Добавить запись журнала в папку: Добавьте ранее созданную запись журнала MAPI в папку "Journal" с помощью add_mapi_message_item.
Добавить вложения к записям MAPI Journal в PST‑файлах
Приведённый ниже пример кода демонстрирует, как создать и сохранить элемент MAPI journal с помощью библиотеки Aspose.Email. Запись журнала относится к телефонному звонку и включает файлы вложений.
- Определить каталог и вложения:
data_dir: Переменная, содержащая путь к каталогу данных, где будут храниться файлы и результаты.attach_file_names: Список, содержащий полные пути к именам файлов вложений, которые будут добавлены к журналу.
- Создать объект MapiJournal:
- A MapiJournal объект создаётся с заголовком "testJournal". Эта запись журнала описана как "Phone call" и в поле темы, и в поле типа.
journal.start_timeустанавливается в текущее время с помощьюdatetime.now().journal.end_timeрассчитывается путем добавления одного часа к времени начала с помощьюtimedelta(hours=1).
- Установить участвующие компании:
- Этот
journal.companiesатрибут обновляется списком компаний, участвующих в этой записи журнала.
- Этот
- Прикрепить файлы к журналу:
- Цикл перебирает каждый файл в
attach_file_names. Для каждого файла он добавляет файл вjournal.attachmentsпутём чтения содержимого файла в бинарном режиме.
- Цикл перебирает каждый файл в
- Сохранить MapiJournal:
- В конце запись журнала сохраняется как файл ".msg" в указанном каталоге данных.
import os
from datetime import datetime, timedelta
from aspose.email.mapi import MapiJournal
data_dir = "path_to_data_directory"
attach_file_names = [os.path.join(data_dir, "Desert.jpg"), os.path.join(data_dir, "download.png")]
journal = MapiJournal("testJournal", "This is a test journal", "Phone call", "Phone call")
journal.start_time = datetime.now()
journal.end_time = journal.start_time + timedelta(hours=1)
journal.companies = ["company 1", "company 2", "company 3"]
for attach in attach_file_names:
journal.attachments.append(attach, open(attach, 'rb').read())
journal.save(os.path.join(data_dir, "AddAttachmentsToMapiJournal_out.msg"))