Управление на Outlook MAPI Journal записи в 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". Този запис в журнал се описва като "Телефонно обаждане" както в полетата за тема, така и в полето за тип.
    • journal.start_time се задава като текущо време, като се използва datetime.now().
    • journal.end_time се изчислява чрез добавяне на един час към началното време, като се използва timedelta(hours=1).
  3. Задаване на участващи компании:
    • Този 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"))