Gestione delle voci di diario MAPI di Outlook nei file PST

Aggiungi Voci Journal MAPI ai File PST

Crea un nuovo file PST e aggiungi sottocartelle mostra come creare un nuovo file PST e aggiungere una sottocartella. Con Aspose.Email è possibile creare anche una nuova voce journal MAPI e aggiungerla a un file PST. Il campione di codice qui sotto dimostra come creare una voce journal, impostarne le proprietà e salvarla in un file PST appena creato:

  1. Crea Voce Journal MAPI: Istanzia un MapiJournal oggetto con oggetto, corpo e tipo.
  2. Imposta Tempistica Journal: Definisci l’ora di inizio della voce journal come la data e ora corrente usando dt.datetime.now() e imposta il tempo di fine un’ora più tardi usando dt.datetime.today() + timedelta(hours=1).
  3. Crea File PST: Usa PersonalStorage.create per generare un nuovo file PST con il formato UNICODE.
  4. Crea Cartella Journal: All’interno del nuovo file PST, crea una cartella predefinita chiamata "Journal" usando create_predefined_folder con il StandardIpmFolder.JOURNAL parametro.
  5. Aggiungi voce di diario alla cartella: aggiungi la voce di diario MAPI creata precedentemente alla cartella "Journal" usando add_mapi_message_item.

Aggiungi Allegati a Voci Journal MAPI nei File PST

Il campione di codice qui sotto dimostra come creare e salvare un elemento journal MAPI usando la libreria Aspose.Email. La voce journal è relativa a una chiamata telefonica e include file allegati.

  1. Definisci Directory e Allegati:
    • data_dir: Una variabile che contiene il percorso della directory dati dove verranno salvati file e output.
    • attach_file_names: Un elenco contenente i nomi dei file con percorso completo degli allegati da aggiungere al journal.
  2. Crea un Oggetto MapiJournal:
    • Un MapiJournal l’oggetto è creato con il titolo "testJournal". Questa voce journal è descritta come "Phone call" sia nel campo oggetto sia nel campo tipo.
    • journal.start_time è impostato all’ora corrente usando datetime.now().
    • journal.end_time è calcolato aggiungendo un’ora all’ora di inizio usando timedelta(hours=1).
  3. Imposta Aziende Coinvolte:
    • Il journal.companies l’attributo è aggiornato con un elenco di aziende coinvolte in questa voce journal.
  4. Allega File al Journal:
    • Un ciclo itera su ogni file in attach_file_names. Per ogni file, lo aggiunge al journal.attachments leggendo il contenuto del file in modalità binaria.
  5. Salva il MapiJournal:
    • Infine, la voce journal viene salvata come file ".msg" nella directory dati specificata.
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"))