Administrar entradas de diario MAPI de Outlook en archivos PST

Agregar entradas de diario MAPI a archivos PST

Crear un Nuevo Archivo PST y Agregar Subcarpetas muestra cómo crear un nuevo archivo PST y agregarle una subcarpeta. Con Aspose.Email también puede crear una nueva entrada de diario MAPI y añadirla a un archivo PST. El ejemplo de código a continuación demuestra cómo crear una entrada de diario, establecer sus propiedades y almacenarla en un archivo PST recién creado:

  1. Crear entrada de diario MAPI: Instanciar un MapiJournal objeto con el asunto, el cuerpo y el tipo.
  2. Establecer tiempo del diario: Defina la hora de inicio de la entrada del diario como la fecha y hora actual usando dt.datetime.now() y establezca la hora de finalización una hora después usando dt.datetime.today() + timedelta(hours=1).
  3. Crear archivo PST: Utilice PersonalStorage.create para generar un nuevo archivo PST con el formato UNICODE.
  4. Crear carpeta de diario: Dentro del nuevo archivo PST, cree una carpeta predefinida llamada "Journal" usando create_predefined_folder con el StandardIpmFolder.JOURNAL parámetro.
  5. Agregar entrada de diario a la carpeta: Agregue la entrada de diario MAPI creada previamente a la carpeta "Journal" usando add_mapi_message_item.

Agregar archivos adjuntos a entradas de diario MAPI en archivos PST

El ejemplo de código a continuación muestra cómo crear y guardar un elemento de diario MAPI usando la biblioteca Aspose.Email. La entrada del diario está relacionada con una llamada telefónica e incluye archivos adjuntos.

  1. Definir directorio y adjuntos:
    • data_dir: Una variable que contiene la ruta al directorio de datos donde se almacenarán los archivos y resultados.
    • attach_file_names: Una lista que contiene los nombres de archivo con ruta completa de los adjuntos que se agregarán al diario.
  2. Crear un objeto MapiJournal:
    • A MapiJournal se crea un objeto con el título "testJournal". Esta entrada de diario se describe como "Llamada telefónica" tanto en el campo de asunto como en el de tipo.
    • journal.start_time se establece a la hora actual usando datetime.now().
    • journal.end_time se calcula añadiendo una hora a la hora de inicio usando timedelta(hours=1).
  3. Establecer empresas involucradas:
    • El journal.companies el atributo se actualiza con una lista de empresas involucradas en esta entrada del diario.
  4. Adjuntar archivos al diario:
    • Un bucle itera sobre cada archivo en attach_file_names. Para cada archivo, agrega el archivo al journal.attachments leyendo el contenido del archivo en modo binario.
  5. Guardar el MapiJournal:
    • Finalmente, la entrada del diario se guarda como un archivo ".msg" en el directorio de datos especificado.
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"))