Zarządzanie wpisami dziennika Outlook MAPI w plikach PST

Dodaj wpisy MAPI Journal do plików PST

Utwórz nowy plik PST i dodaj podfoldery pokazuje, jak utworzyć nowy plik PST i dodać do niego podfolder. Z Aspose.Email możesz również utworzyć nowy wpis MAPI journal i dodać go do pliku PST. Poniższy przykład kodu demonstruje, jak utworzyć wpis dziennika, ustawić jego właściwości i zapisać go w nowo utworzonym pliku PST:

  1. Utwórz wpis MAPI Journal: Utwórz instancję MapiJournal obiekt z tematem, treścią i typem.
  2. Ustaw czas dziennika: Zdefiniuj czas rozpoczęcia wpisu dziennika jako bieżącą datę i godzinę przy użyciu dt.datetime.now() i ustaw czas zakończenia na godzinę później przy użyciu dt.datetime.today() + timedelta(hours=1).
  3. Utwórz plik PST: Użyj PersonalStorage.create aby wygenerować nowy plik PST w formacie UNICODE.
  4. Utwórz folder dziennika: W nowym pliku PST, utwórz wstępnie zdefiniowany folder o nazwie "Journal" przy użyciu create_predefined_folder z StandardIpmFolder.JOURNAL parametru.
  5. Dodaj wpis dziennika do folderu: Dodaj wcześniej utworzony wpis dziennika MAPI do folderu „Journal” przy użyciu add_mapi_message_item.

Dodaj załączniki do wpisów MAPI Journal w plikach PST

Poniższy przykład kodu demonstruje, jak utworzyć i zapisać element dziennika MAPI przy użyciu biblioteki Aspose.Email. Wpis dziennika dotyczy rozmowy telefonicznej i zawiera pliki załączników.

  1. Zdefiniuj katalog i załączniki:
    • data_dir: Zmienna przechowująca ścieżkę do katalogu danych, w którym będą przechowywane pliki i wyniki.
    • attach_file_names: Lista zawierająca pełne ścieżki nazw plików załączników, które mają zostać dodane do dziennika.
  2. Utwórz obiekt MapiJournal:
    • A MapiJournal obiekt jest tworzony z tytułem "testJournal". Ten wpis dziennika jest opisany jako "Rozmowa telefoniczna" zarówno w polu tematu, jak i typu.
    • journal.start_time jest ustawiane na bieżący czas przy użyciu datetime.now().
    • journal.end_time jest obliczane przez dodanie jednej godziny do czasu rozpoczęcia przy użyciu timedelta(hours=1).
  3. Ustaw zaangażowane firmy:
    • Ten journal.companies atrybut jest aktualizowany listą firm zaangażowanych w ten wpis dziennika.
  4. Dołącz pliki do dziennika:
    • Pętla iteruje po każdym pliku w attach_file_names. Dla każdego pliku, dodaje plik do journal.attachments poprzez odczytanie zawartości pliku w trybie binarnym.
  5. Zapisz MapiJournal:
    • Na końcu wpis dziennika jest zapisywany jako plik ".msg" w określonym katalogu danych.
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"))