Hantera Outlook MAPI‑journalposter i PST‑filer

Lägg till MAPI-journalposter i PST-filer

Skapa en ny PST‑fil och lägg till undermappar visar hur man skapar en ny PST-fil och lägger till en undermapp i den. Med Aspose.Email kan du också skapa en ny MAPI-journalpost och lägga till den i en PST-fil. Kodsamples nedan demonstrerar hur man skapar en journalpost, sätter dess egenskaper och lagrar den i en nyupprättad PST-fil:

  1. Skapa MAPI-journalpost: Instansiera en MapiJournal objekt med ämnet, brödtexten och typen.
  2. Ställ in journaltid: Definiera starttiden för journalposten som aktuell datumtid med hjälp av dt.datetime.now() och sätt sluttiden till en timme senare med hjälp av dt.datetime.today() + timedelta(hours=1).
  3. Skapa PST-fil: Använd PersonalStorage.create för att skapa en ny PST-fil med UNICODE-format.
  4. Skapa journalmapp: I den nya PST-filen, skapa en fördefinierad mapp med namnet "Journal" med hjälp av create_predefined_folder med StandardIpmFolder.JOURNAL parametern.
  5. Lägg till journalpost i mapp: Lägg till den tidigare skapade MAPI‑journalposten i "Journal"‑mappen med hjälp av add_mapi_message_item.

Lägg till bilagor i MAPI-journalposter i PST-filer

Kodsnippets nedan visar hur man skapar och sparar ett MAPI-journalobjekt med Aspose.Email-biblioteket. Journalposten är relaterad till ett telefonsamtal och inkluderar bilagor.

  1. Definiera katalog och bilagor:
    • data_dir: En variabel som innehåller sökvägen till datakatalogen där filer och utdata kommer att lagras.
    • attach_file_names: En lista som innehåller hela sökvägsfilnamn för bilagorna som ska läggas till i journalen.
  2. Skapa ett MapiJournal-objekt:
    • En MapiJournal objekt skapas med titeln "testJournal". Denna journalpost beskrivs som ett "Telefon samtal" i både ämnes- och typ-fälten.
    • journal.start_time sätts till aktuell tid med hjälp av datetime.now().
    • journal.end_time beräknas genom att lägga till en timme till starttiden med hjälp av timedelta(hours=1).
  3. Ange inblandade företag:
    • Den journal.companies attributet uppdateras med en lista över företag som är involverade i denna journalpost.
  4. Bifoga filer till journalen:
    • En slinga itererar över varje fil i attach_file_names. För varje fil, läggs filen till i journal.attachments genom att läsa filens innehåll i binärt läge.
  5. Spara MapiJournal:
    • Slutligen sparas journalposten som en ".msg"-fil i den angivna datakatalogen.
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"))