Lectura de archivos PST/OST corruptos
Lectura de archivos PST/OST corruptos
En algunos casos, un archivo PST o OST puede volverse inaccesible debido a corrupción o daño. Cuando esto ocurre, Outlook puede no poder abrir el archivo, dificultando la recuperación de correos electrónicos importantes y otros datos del buzón.
Aspose.Email ofrece una API que le permite escanear y extraer mensajes no dañados de un archivo PST corrupto utilizando IDs de mensajes y carpetas.
Los siguientes métodos de la PersonalStorage las clases son esenciales para recuperar datos de un archivo PST corrupto:
-
Recuperar IDs de mensajes y carpetas:
find_messages(parent_entry_id) - recupera una lista de IDs de mensajes dentro de una carpeta especificada.
find_subfolders(parent_entry_id) - obtiene una lista de IDs de subcarpetas dentro de una carpeta dada.
-
Acceder a mensajes y carpetas usando sus IDs:
extract_message(entry_id) - extrae un mensaje del archivo PST usando su ID de entrada.
get_folder_by_id(entry_id) - recupera una carpeta del archivo PST usando su ID de entrada.
El siguiente ejemplo de código demuestra cómo navegar por un archivo PST potencialmente corrupto, extraer mensajes no dañados y explorar subcarpetas:
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)