تحليل ملفات Outlook PST في Python

PST (جدول التخزين الشخصي) هو تنسيق ملف تخزين تستخدمه برامج Microsoft المختلفة. يمكن لملفات PST الاحتفاظ ببيانات الرسائل وجهات الاتصال والتقويمات والأحداث وما إلى ذلك. يتم استخدامها بواسطة برامج Microsoft الشائعة مثل MS Outlook و Exchange و Windows Messaging. في بعض الحالات ، قد تحتاج إلى تحليل ملف PST واستخراج البيانات منه برمجيًا. لتحقيق ذلك ، توضح هذه المقالة كيفية تحليل ملفات PST من داخل تطبيقات Python.

مكتبة 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 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 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 import PersonalStorage, StandardIpmFolder, 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 باستخدام التوثيق. يمكنك أيضًا مشاركة أسئلتك أو استفساراتك على المنتدى.

أنظر أيضا