Gerenciando Entradas de Diário MAPI do Outlook em Arquivos PST

Adicionar Entradas de Diário MAPI a Arquivos PST

Criar um Novo Arquivo PST e Adicionar Subpastas mostra como criar um novo arquivo PST e adicionar uma subpasta a ele. Com Aspose.Email você também pode criar uma nova entrada de diário MAPI e adicioná-la a um arquivo PST. O exemplo de código abaixo demonstra como criar uma entrada de diário, definir suas propriedades e armazená-la em um arquivo PST recém-criado:

  1. Criar Entrada de Diário MAPI: Instancie um MapiJournal objeto com o assunto, o corpo e o tipo.
  2. Definir Tempo do Diário: Defina a hora de início da entrada do diário como a data/hora atual usando dt.datetime.now() e defina a hora de término uma hora depois usando dt.datetime.today() + timedelta(hours=1).
  3. Criar Arquivo PST: Use PersonalStorage.create para gerar um novo arquivo PST com o formato UNICODE.
  4. Criar Pasta de Diário: Dentro do novo arquivo PST, crie uma pasta predefinida chamada "Journal" usando create_predefined_folder com o StandardIpmFolder.JOURNAL parâmetro.
  5. Adicionar Entrada de Diário à Pasta: Adicione a entrada de diário MAPI criada anteriormente à pasta "Journal" usando add_mapi_message_item.

Adicionar Anexos a Entradas de Diário MAPI em Arquivos PST

O exemplo de código abaixo demonstra como criar e salvar um item de diário MAPI usando a biblioteca Aspose.Email. A entrada de diário está relacionada a uma chamada telefônica e inclui arquivos anexos.

  1. Definir Diretório e Anexos:
    • data_dir: Uma variável que contém o caminho para o diretório de dados onde os arquivos e saídas serão armazenados.
    • attach_file_names: Uma lista contendo os nomes de arquivos com caminho completo dos anexos a serem adicionados ao diário.
  2. Criar um Objeto MapiJournal:
    • A MapiJournal objeto é criado com o título "testJournal". Esta entrada de diário é descrita como "Chamada telefônica" tanto no campo de assunto quanto no de tipo.
    • journal.start_time é definido para a hora atual usando datetime.now().
    • journal.end_time é calculado adicionando uma hora ao horário de início usando timedelta(hours=1).
  3. Definir Empresas Envolvidas:
    • O journal.companies atributo é atualizado com uma lista de empresas envolvidas nesta entrada de diário.
  4. Anexar Arquivos ao Diário:
    • Um loop itera sobre cada arquivo em attach_file_names. Para cada arquivo, ele anexa o arquivo ao journal.attachments lendo o conteúdo do arquivo no modo binário.
  5. Salvar o MapiJournal:
    • Finalmente, a entrada de diário é salva como um arquivo ".msg" no diretório de dados 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"))