破損した PST/OST ファイルの読み取り

破損した PST/OST ファイルの読み取り

場合によっては、PST または OST ファイルが破損や損傷のためにアクセスできなくなることがあります。その結果、Outlook がファイルを開けず、重要なメールやその他のメールボックスデータを取得することが困難になります。

Aspose.Email は、メッセージ ID とフォルダー ID を使用して、破損した PST ファイルから無傷のメッセージをスキャンおよび抽出できる API を提供します。

以下のメソッドは PersonalStorage クラスは、破損した PST ファイルからデータを復元するために不可欠です:

  • メッセージとフォルダーの ID を取得する:

    find_messages(parent_entry_id) - 指定されたフォルダー内のメッセージ ID のリストを取得します。

    find_subfolders(parent_entry_id) - 指定されたフォルダー内のサブフォルダー ID のリストを取得します。

  • ID を使用してメッセージとフォルダーにアクセスする方法:

    extract_message(entry_id) - エントリ ID を使用して PST ファイルからメッセージを抽出します。

    get_folder_by_id(entry_id) - エントリ ID を使用して PST ファイルからフォルダーを取得します。

以下のコードサンプルは、潜在的に破損した PST ファイルをナビゲートし、無傷のメッセージを抽出し、サブフォルダーを調査する方法を示しています。

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)