Čtení poškozených souborů PST/OST
Čtení poškozených souborů PST/OST
V některých případech může být soubor PST nebo OST nepřístupný kvůli poškození nebo škodě. Když se to stane, Outlook nemusí být schopen soubor otevřít, což ztěžuje získání důležitých e‑mailů a dalších dat pošty.
Aspose.Email poskytuje API, které umožňuje prohledávat a extrahovat nepoškozené zprávy z poškozeného souboru PST pomocí ID zpráv a složek.
Následující metody třídy PersonalStorage třída jsou nezbytné pro obnovu dat z poškozeného souboru PST:
-
Získání ID zpráv a složek:
find_messages(parent_entry_id) – získá seznam ID zpráv v určené složce.
find_subfolders(parent_entry_id) – získá seznam ID podadresářů v dané složce.
-
Přístup ke zprávám a složkám pomocí jejich ID:
extract_message(entry_id) – extrahuje zprávu ze souboru PST pomocí jejího ID položky.
get_folder_by_id(entry_id) – získá složku ze souboru PST pomocí jejího ID položky.
Následující příklad kódu ukazuje, jak procházet potenciálně poškozený soubor PST, extrahovat nepoškozené zprávy a prozkoumávat podadresáře:
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)