Odczyt uszkodzonych plików PST/OST
Odczyt uszkodzonych plików PST/OST
W niektórych przypadkach plik PST lub OST może stać się niedostępny z powodu uszkodzenia lub zniszczenia. Gdy tak się stanie, Outlook może nie otworzyć pliku, co utrudnia odzyskanie ważnych wiadomości e‑mail oraz innych danych skrzynki pocztowej.
Aspose.Email udostępnia API, które umożliwia skanowanie i wyodrębnianie nienaruszonych wiadomości z uszkodzonego pliku PST przy użyciu identyfikatorów wiadomości i folderów.
Poniższe metody klasy PersonalStorage klasa jest niezbędna do odzyskiwania danych z uszkodzonego pliku PST:
-
Pobierz identyfikatory wiadomości i folderów:
find_messages(parent_entry_id) - pobiera listę identyfikatorów wiadomości w określonym folderze.
find_subfolders(parent_entry_id) - uzyskuje listę identyfikatorów podfolderów w obrębie danego folderu.
-
Dostęp do wiadomości i folderów przy użyciu ich identyfikatorów:
extract_message(entry_id) - wyodrębnia wiadomość z pliku PST przy użyciu jej entry ID.
get_folder_by_id(entry_id) - pobiera folder z pliku PST przy użyciu jego identyfikatora entry ID.
Poniższy przykład kodu demonstruje, jak nawigować po potencjalnie uszkodzonym pliku PST, wyodrębnić nienaruszone wiadomości oraz przeglądać podfoldery:
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)