قراءة ملفات PST/OST التالفة

قراءة ملفات PST/OST التالفة

في بعض الحالات، قد يصبح ملف PST أو OST غير قابل للوصول بسبب الفساد أو الضرر. عندما يحدث ذلك، قد يفشل Outlook في فتح الملف، مما يجعل من الصعب استرجاع الرسائل الإلكترونية المهمة وغيرها من بيانات صندوق البريد.

توفر Aspose.Email واجهة برمجة تطبيقات تتيح لك فحص واستخراج الرسائل غير المتضررة من ملف PST تالف باستخدام معرّفات الرسائل والمجلدات.

الطرق التالية للفئة PersonalStorage الفئة ضرورية لاستعادة البيانات من ملف PST تالف:

  • استخراج معرّفات الرسائل والمجلدات:

    find_messages(parent_entry_id) - يسترجع قائمة بمعرّفات الرسائل داخل مجلد محدد.

    find_subfolders(parent_entry_id) - يحصل على قائمة بمعرّفات المجلدات الفرعية داخل مجلد معين.

  • الوصول إلى الرسائل والمجلدات باستخدام معرّفاتها:

    extract_message(entry_id) - يستخرج رسالة من ملف PST باستخدام معرّف الدخول الخاص بها.

    get_folder_by_id(entry_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)