读取损坏的 PST/OST 文件
Contents
[
Hide
]
读取损坏的 PST/OST 文件
在某些情况下,PST 或 OST 文件可能因损坏而无法访问。此时 Outlook 可能无法打开该文件,导致难以检索重要的电子邮件和其他邮箱数据。
Aspose.Email 提供的 API 允许您使用邮件和文件夹 ID 扫描并提取损坏 PST 文件中未受损的邮件。
以下是该类的方法 PersonalStorage 类对于从损坏的 PST 文件中恢复数据至关重要:
-
检索邮件和文件夹的 ID:
find_messages(parent_entry_id) - 检索指定文件夹内的邮件 ID 列表。
find_subfolders(parent_entry_id) - 获取指定文件夹内子文件夹的 ID 列表。
-
使用 ID 访问邮件和文件夹:
extract_message(entry_id) - 使用其 entry ID 从 PST 文件中提取邮件。
get_folder_by_id(entry_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)