Leitura de arquivos PST/OST corrompidos
Leitura de Arquivos PST/OST Corrompidos
Em alguns casos, um arquivo PST ou OST pode se tornar inacessível devido a corrupção ou danos. Quando isso ocorre, o Outlook pode falhar ao abrir o arquivo, dificultando a recuperação de e‑mails importantes e outros dados da caixa de correio.
Aspose.Email fornece uma API que permite escanear e extrair mensagens intactas de um arquivo PST corrompido usando IDs de mensagens e pastas.
Os seguintes métodos da PersonalStorage classe são essenciais para a recuperação de dados de um arquivo PST corrompido:
-
Recupere IDs de Mensagens e Pastas:
find_messages(parent_entry_id) - recupera uma lista de IDs de mensagens dentro de uma pasta especificada.
find_subfolders(parent_entry_id) - obtém uma lista de IDs de subpastas dentro de uma pasta especificada.
-
Acesse Mensagens e Pastas Usando Seus IDs:
extract_message(entry_id) - extrai uma mensagem do arquivo PST usando seu ID de entrada.
get_folder_by_id(entry_id) - recupera uma pasta do arquivo PST usando seu ID de entrada.
O exemplo de código a seguir demonstra como navegar por um arquivo PST potencialmente corrompido, extrair mensagens intactas e explorar subpastas:
import aspose.email as ae
def explore_corrupted_pst(pst, root_folder_id):
message_id_list = pst.find_messages(root_folder_id)
for message_id in message_id_list:
try:
msg = pst.extract_message(message_id)
print("- " + msg.subject)
except Exception as e:
print("Message reading error. Entry id: " + message_id)
folder_id_list = pst.find_subfolders(root_folder_id)
for sub_folder_id in folder_id_list:
if sub_folder_id != root_folder_id:
try:
subfolder = pst.get_folder_by_id(sub_folder_id)
print(subfolder.display_name)
except Exception as e:
print("Message reading error. Entry id: " + sub_folder_id)
explore_corrupted_pst(pst, sub_folder_id)
pst = ae.storage.pst.PersonalStorage.from_file("target.pst")
explore_corrupted_pst(pst, pst.root_folder.entry_id_string)