Gerenciando Entradas de Diário MAPI do Outlook em Arquivos PST
Contents
[
Hide
]
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:
- Criar Entrada de Diário MAPI: Instancie um MapiJournal objeto com o assunto, o corpo e o tipo.
- 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 usandodt.datetime.today() + timedelta(hours=1). - Criar Arquivo PST: Use PersonalStorage.create para gerar um novo arquivo PST com o formato UNICODE.
- Criar Pasta de Diário: Dentro do novo arquivo PST, crie uma pasta predefinida chamada "Journal" usando create_predefined_folder com o
StandardIpmFolder.JOURNALparâmetro. - 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.
- 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.
- 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 usandodatetime.now().journal.end_timeé calculado adicionando uma hora ao horário de início usandotimedelta(hours=1).
- Definir Empresas Envolvidas:
- O
journal.companiesatributo é atualizado com uma lista de empresas envolvidas nesta entrada de diário.
- O
- Anexar Arquivos ao Diário:
- Um loop itera sobre cada arquivo em
attach_file_names. Para cada arquivo, ele anexa o arquivo aojournal.attachmentslendo o conteúdo do arquivo no modo binário.
- Um loop itera sobre cada arquivo em
- 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"))