נתח קבצי PST של Outlook ב- Python

PST (Personal Storage Table) הוא פורמט קובץ אחסון המשמש תוכניות שונות של Microsoft. קבצי PST מסוגלים לשמור נתונים של הודעות, אנשי קשר, לוחות שנה, אירועים וכו’. הם נמצאים בשימוש על ידי תוכנות פופולריות של מיקרוסופט כגון MS Outlook, Exchange ו-Windows Messaging. במקרים מסוימים, ייתכן שיהיה עליך לנתח קובץ PST ולחלץ ממנו נתונים באופן תוכנתי. כדי להשיג זאת, מאמר זה מראה כיצד לנתח קבצי PST מתוך יישומי Python.

ספריית פייתון לניתוח קבצי PST

על מנת לנתח קבצי PST, נשתמש ב-Aspose.Email for Python. זוהי ספריית Python רבת עוצמה המאפשרת לך ליישם לקוחות דוא"ל עשירים בתכונות בצורה חלקה. יתר על כן, זה מאפשר לך לעבוד עם פורמטים פופולריים של דואר אלקטרוני ואחסון. אתה יכול להתקין את הספרייה מ-PyPI באמצעות הפקודה הבאה.

> pip install Aspose.Email-for-Python-via-NET

נתח קובץ PST ב- Python

להלן השלבים לנתח קובץ PST ולחלץ את המידע שלו ב- Python.

  • טען את קובץ ה-PST באמצעות שיטת PersonalStorage.fromfile().
  • קבל את אוסף התיקיות ב-PST באמצעות שיטת PersonalStorage.rootfolder.getsubfolders()‎.
  • אחזר את המידע של התיקיות כגון שם, מספר פריטים וכו'.

דוגמת הקוד הבאה מראה כיצד לנתח קובץ PST ולאחזר מידע של תיקיות.

from aspose.email.storage.pst import PersonalStorage

# טען קובץ PST
personalStorage = PersonalStorage.from_file("Outlook.pst")

# קבל את אוסף התיקיות
folderInfoCollection = personalStorage.root_folder.get_sub_folders()

# חלץ מידע של תיקיות
for folderInfo in folderInfoCollection:
	print("Folder: " + folderInfo.display_name)
	print("Total Items: " + str(folderInfo.content_count))
	print("Total Unread Items: " + str(folderInfo.content_unread_count))

חלץ הודעות מקובץ PST ב- Python

הודעות הן הישויות העיקריות המאוחסנות בקובצי PST על ידי תוכניות של Microsoft כגון MS Outlook. אז בואו נראה איך לחלץ הודעות מקובץ PST ב-Python.

  • טען את קובץ ה-PST באמצעות שיטת PersonalStorage.fromfile().
  • קבל את ההפניה של התיקיה הרצויה באובייקט באמצעות שיטת PersonalStorage.rootfolder.getsubfolder() .
  • קבל איסוף הודעות באמצעות שיטת getcontents() .
  • עברו בלולאה בין ההודעות באוסף וקראו את השדות של כל הודעה.

דגימת הקוד הבאה מראה כיצד לחלץ הודעות מקובץ PST ב-Python.

from aspose.email.storage.pst import PersonalStorage

# טען קובץ PST
sourcePst = PersonalStorage.from_file("Outlook.pst")

# בחר את התיקיה הרצויה
sourceFolder = sourcePst.root_folder.get_sub_folder("Inbox")

# קבל תוכן בתיקייה
messageInfoCollection = sourceFolder.get_contents()

# עברו בלולאה בין הודעות בתיקייה
for messageInfo in messageInfoCollection:
        print ("Subject: " + messageInfo.subject)
        print("To: " + messageInfo.display_to)

חלץ אנשי קשר מקובץ PST ב- Python

במקרים מסוימים, ייתכן שיהיה עליך לחלץ את פרטי אנשי הקשר המאוחסנים בקובץ PST. השלבים הבאים מראים כיצד לגשת לאנשי הקשר בקובץ PST ב-Python.

  • טען את קובץ ה-PST באמצעות שיטת PersonalStorage.fromfile().
  • קבל הפניה לתיקיית אנשי הקשר באמצעות שיטת getpredefinedfolder(StandardIpmFolder.CONTACTS).
  • קבל אוסף של אנשי קשר באמצעות שיטת getcontents() .
  • עיין באוסף וקרא כל איש קשר או שמור אותו.

דוגמת הקוד הבאה מראה כיצד לחלץ אנשי קשר מקובץ PST ב-Python.

from aspose.email.storage.pst import PersonalStorage, StandardIpmFolder
from aspose.email.mapi import ContactSaveFormat

# טען קובץ PST
pst = PersonalStorage.from_file("SampleContacts_out.pst")

# בחר תיקיית אנשי קשר				
folderInfo = pst.get_predefined_folder(StandardIpmFolder.CONTACTS)

# קבל אנשי קשר
contactCollection = folderInfo.get_contents()

# עברו בלולאה באיסוף אנשי הקשר
for  messageInfo in contactCollection:

    # קבל את פרטי הקשר
    mapi = pst.extract_message(messageInfo)

    contact = mapi.to_mapi_message_item()

    # הצג חלק מהתוכן על המסך
    print("Name: " + contact.name_info.display_name)

    # שמור בדיסק בפורמט MSG
    if contact.name_info.display_name is not None:
        # שמור איש קשר
        contact.save("Contacts\\" + contact.name_info.display_name + "_out.msg")
        contact.save("Contacts\\" + contact.name_info.display_name + "_out.vcf", ContactSaveFormat.VCARD)

קבל רישיון API בחינם

אתה יכול לנסות את Aspose.Email עבור Python בחינם על ידי קבלת רישיון זמני.

סיכום

במאמר זה, למדת כיצד לנתח קבצי PST ב- Python. יתר על כן, ראית כיצד לחלץ אנשי קשר והודעות מקובץ PST באופן תוכנתי ב- Python. בנוסף, אתה יכול לחקור יותר על Aspose.Email באמצעות תיעוד. כמו כן, תוכל לשתף את השאלות או השאילתות שלך בפורום שלנו.

ראה גם