Керування записами журналу Outlook MAPI у файлах PST
Contents
[
Hide
]
Додати записи журналу MAPI до PST‑файлів
Створити новий файл PST та додати підпапки показує, як створити новий PST‑файл і додати до нього підпапку. За допомогою Aspose.Email ви також можете створити новий запис журналу MAPI та додати його до PST‑файлу. Наведений нижче приклад коду демонструє, як створити запис журналу, встановити його властивості та зберегти його у новоствореному PST‑файлі:
- Створити запис журналу MAPI: Створіть екземпляр 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 у PST‑файлах
Нижченаведений приклад коду демонструє, як створити та зберегти елемент журналу MAPI за допомогою бібліотеки Aspose.Email. Запис журналу пов’язаний із телефонним дзвінком і включає файли вкладень.
- Визначити каталог і вкладення:
data_dir: Змінна, що містить шлях до каталогу даних, де будуть зберігатися файли та результати.attach_file_names: Список, що містить повні шляхи до файлів вкладень, які будуть додані до журналу.
- Створити об’єкт MapiJournal:
- A MapiJournal об’єкт створюється з назвою "testJournal". Цей запис журналу описується як "Phone call" у полях теми та типу.
journal.start_timeвстановлюється на поточний час, використовуючиdatetime.now().journal.end_timeобчислюється шляхом додавання однієї години до часу початку, використовуючиtimedelta(hours=1).
- Встановити залучені компанії:
- The
journal.companiesатрибут оновлюється списком компаній, задіяних у цьому записі журналу.
- The
- Прикріпити файли до журналу:
- Цикл перебирає кожен файл у
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"))