Керування записами журналу Outlook MAPI у файлах PST

Додати записи журналу MAPI до PST‑файлів

Створити новий файл PST та додати підпапки показує, як створити новий PST‑файл і додати до нього підпапку. За допомогою Aspose.Email ви також можете створити новий запис журналу MAPI та додати його до PST‑файлу. Наведений нижче приклад коду демонструє, як створити запис журналу, встановити його властивості та зберегти його у новоствореному PST‑файлі:

  1. Створити запис журналу MAPI: Створіть екземпляр MapiJournal об’єкт з темою, тілом та типом.
  2. Встановити час журналу: Визначте час початку запису журналу як поточну дату й час, використовуючи dt.datetime.now() і встановіть час завершення на одну годину пізніше, використовуючи dt.datetime.today() + timedelta(hours=1).
  3. Створити PST‑файл: Використовуйте PersonalStorage.create для створення нового PST‑файлу у форматі UNICODE.
  4. Створити папку журналу: У новому PST‑файлі створіть попередньо визначену папку з назвою "Journal", використовуючи create_predefined_folder з StandardIpmFolder.JOURNAL параметр.
  5. Додати запис журналу до папки: Додати раніше створений запис журналу MAPI до папки "Journal" за допомогою add_mapi_message_item.

Додати вкладення до записів журналу MAPI у PST‑файлах

Нижченаведений приклад коду демонструє, як створити та зберегти елемент журналу MAPI за допомогою бібліотеки Aspose.Email. Запис журналу пов’язаний із телефонним дзвінком і включає файли вкладень.

  1. Визначити каталог і вкладення:
    • data_dir: Змінна, що містить шлях до каталогу даних, де будуть зберігатися файли та результати.
    • attach_file_names: Список, що містить повні шляхи до файлів вкладень, які будуть додані до журналу.
  2. Створити об’єкт MapiJournal:
    • A MapiJournal об’єкт створюється з назвою "testJournal". Цей запис журналу описується як "Phone call" у полях теми та типу.
    • journal.start_time встановлюється на поточний час, використовуючи datetime.now().
    • journal.end_time обчислюється шляхом додавання однієї години до часу початку, використовуючи timedelta(hours=1).
  3. Встановити залучені компанії:
    • The journal.companies атрибут оновлюється списком компаній, задіяних у цьому записі журналу.
  4. Прикріпити файли до журналу:
    • Цикл перебирає кожен файл у attach_file_names. Для кожного файлу він додає файл до journal.attachments шляхом зчитування вмісту файлу у двійковому режимі.
  5. Зберегти 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"))