Hantera Outlook MAPI‑journalposter i PST‑filer
Contents
[
Hide
]
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:
- Skapa MAPI-journalpost: Instansiera en MapiJournal objekt med ämnet, brödtexten och typen.
- 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 avdt.datetime.today() + timedelta(hours=1). - Skapa PST-fil: Använd PersonalStorage.create för att skapa en ny PST-fil med UNICODE-format.
- Skapa journalmapp: I den nya PST-filen, skapa en fördefinierad mapp med namnet "Journal" med hjälp av create_predefined_folder med
StandardIpmFolder.JOURNALparametern. - 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.
- 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.
- 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_timesätts till aktuell tid med hjälp avdatetime.now().journal.end_timeberäknas genom att lägga till en timme till starttiden med hjälp avtimedelta(hours=1).
- Ange inblandade företag:
- Den
journal.companiesattributet uppdateras med en lista över företag som är involverade i denna journalpost.
- Den
- Bifoga filer till journalen:
- En slinga itererar över varje fil i
attach_file_names. För varje fil, läggs filen till ijournal.attachmentsgenom att läsa filens innehåll i binärt läge.
- En slinga itererar över varje fil i
- 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"))