Lettura di file PST/OST corrotti
Lettura di file PST/OST corrotti
In alcuni casi, un file PST o OST può diventare inaccessibile a causa di corruzione o danni. Quando ciò accade, Outlook potrebbe non riuscire ad aprire il file, rendendo difficile recuperare email importanti e altri dati della casella di posta.
Aspose.Email fornisce un’API che consente di scansionare ed estrarre i messaggi non danneggiati da un file PST corrotto usando gli ID di messaggi e cartelle.
I seguenti metodi della PersonalStorage Le classi sono essenziali per recuperare dati da un file PST corrotto:
-
Recupera ID di messaggi e cartelle:
find_messages(parent_entry_id) - recupera un elenco di ID di messaggi all’interno di una cartella specificata.
find_subfolders(parent_entry_id) - ottiene un elenco di ID di sottocartelle all’interno di una cartella data.
-
Accedi a messaggi e cartelle usando i loro ID:
extract_message(entry_id) - estrae un messaggio dal file PST usando il suo entry ID.
get_folder_by_id(entry_id) - recupera una cartella dal file PST usando il suo entry ID.
Il seguente esempio di codice dimostra come navigare in un file PST potenzialmente corrotto, estrarre i messaggi non danneggiati ed esplorare le sottocartelle:
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)