क्षतिग्रस्त PST/OST फ़ाइलों को पढ़ना

क्षतिग्रस्त PST/OST फ़ाइलें पढ़ना

कुछ मामलों में, PST या OST फ़ाइल भ्रष्टाचार या क्षति के कारण पहुँच से बाहर हो सकती है। जब ऐसा होता है, तो Outlook फ़ाइल को खोलने में विफल हो सकता है, जिससे महत्वपूर्ण ईमेल और अन्य मेलबॉक्स डेटा प्राप्त करना कठिन हो जाता है।

Aspose.Email एक API प्रदान करता है जो आपको संदेश और फ़ोल्डर IDs का उपयोग करके क्षतिग्रस्त PST फ़ाइल से अखंड संदेश स्कैन और निकालने की सुविधा देता है।

निम्नलिखित मेथड्स PersonalStorage क्लास क्षतिग्रस्त PST फ़ाइल से डेटा पुनर्प्राप्त करने के लिए आवश्यक हैं:

  • संदेश और फ़ोल्डर IDs प्राप्त करें:

    find_messages(parent_entry_id) - निर्दिष्ट फ़ोल्डर के भीतर संदेश IDs की सूची प्राप्त करता है।

    find_subfolders(parent_entry_id) - किसी दिए गये फ़ोल्डर के भीतर सबफ़ोल्डर IDs की सूची प्राप्त करता है।

  • उनके IDs का उपयोग करके संदेशों और फ़ोल्डरों तक पहुँचें:

    extract_message(entry_id) - PST फ़ाइल से उसके एंट्री ID का उपयोग करके एक संदेश निकालता है।

    get_folder_by_id(entry_id) - PST फ़ाइल से उसके एंट्री ID का उपयोग करके एक फ़ोल्डर प्राप्त करता है।

नीचे दिया गया कोड उदाहरण दर्शाता है कि संभावित रूप से क्षतिग्रस्त 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)