
PST (جدول التخزين الشخصي) هو تنسيق ملف معروف جيدًا يستخدم لأغراض التخزين بواسطة برامج Microsoft المختلفة مثل MS Outlook و Exchange و Windows Messaging. يمكن لملفات PST تخزين الرسائل وجهات الاتصال والمعلومات حول عناصر أخرى مثل التقويمات والأحداث وما إلى ذلك. في بعض الحالات ، قد تحتاج إلى تحليل ملف PST واستخراج البيانات منه برمجيًا. لتحقيق ذلك ، توضح هذه المقالة كيفية قراءة ملفات Outlook PST في Java. بمساعدة نماذج التعليمات البرمجية ، ستتعلم كيفية استخراج معلومات المجلدات وقراءة رسائل البريد الإلكتروني وجلب جهات الاتصال من ملف PST.
- Java API لقراءة ملف Outlook PST
- اقرأ ملف Outlook PST في Java
- قراءة رسائل البريد الإلكتروني من ملف PST
- استخراج جهات الاتصال من ملف PST
Java API لمعالجة ملف Outlook PST - تنزيل مجاني
Aspose.Email for Java هو واجهة برمجة تطبيقات معالجة بريد إلكتروني مشهورة وغنية بالمميزات لإنشاء وإرسال رسائل البريد الإلكتروني. بالإضافة إلى ذلك ، يتيح لك العمل مع عملاء البريد الإلكتروني المشهورين وتنسيقات ملفات التخزين. في هذه المقالة ، سوف نستخدم Aspose.Email لجافا لقراءة الرسائل والمعلومات الأخرى من ملفات PST. يمكنك إما تنزيل API أو تثبيته باستخدام تكوينات Maven التالية.
مخزن:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
الاعتماد:
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.3</version>
<classifier>jdk16</classifier>
</dependency>
اقرأ ملف Outlook PST في Java
فيما يلي خطوات قراءة ملف PST واستخراج معلوماته في Java.
- قم بتحميل ملف PST باستخدام طريقة PersonalStorage.fromFile().
- احصل على مجموعة المجلدات في PST باستخدام طريقة PersonalStorage.getRootFolders().getSubFolders().
- استرجع معلومات المجلدات مثل الاسم وعدد العناصر وما إلى ذلك.
يوضح نموذج التعليمات البرمجية التالي كيفية قراءة ملف PST وجلب معلومات المجلدات في Java.
// قم بتحميل ملف Outlook PST
PersonalStorage pst = PersonalStorage.fromFile("PersonalStorage.pst");
// احصل على معلومات المجلدات
FolderInfoCollection folderInfoCollection = pst.getRootFolder().getSubFolders();
// تصفح من خلال كل مجلد لعرض المعلومات
for (int i = 0; i < folderInfoCollection.size(); i++) {
FolderInfo folderInfo = (FolderInfo) folderInfoCollection.get_Item(i);
System.out.println("FolderId: " + folderInfo.getEntryIdString());
System.out.println("Folder: " + folderInfo.getDisplayName());
System.out.println("Total items: " + folderInfo.getContentCount());
System.out.println("Total unread items: " + folderInfo.getContentUnreadCount());
System.out.println("-----------------------------------");
}
جافا قراءة رسائل البريد الإلكتروني من PST
فيما يلي خطوات قراءة رسائل البريد الإلكتروني من ملف PST في Java.
- قم بتحميل ملف PST باستخدام طريقة PersonalStorage.fromFile().
- قم بالوصول إلى المجلد الجذر باستخدام طريقة PersonalStorage.getRootFolder().
- احصل على مجموعة رسائل من كل مجلد فرعي باستخدام طريقة FolderInfo.getContents().
- قم بالتكرار خلال الرسائل الموجودة في المجموعة واقرأ حقول كل رسالة.
يوضح نموذج التعليمات البرمجية التالي كيفية استخراج الرسائل من ملف PST في Java.
// قم بتحميل ملف Outlook PST
PersonalStorage pst = PersonalStorage.fromFile(path);
// احصل على تنسيق عرض ملف PST
System.out.println("Display Format: " + pst.getFormat());
// احصل على معلومات المجلدات والرسائل
FolderInfo folderInfo = pst.getRootFolder();
// اتصل بالطريقة العودية لاستخراج ملفات msg من كل مجلد
extractMsgFiles(folderInfo, pst);
// هذه طريقة تكرارية لعرض محتويات المجلد
private static void extractMsgFiles(FolderInfo folderInfo, PersonalStorage pst) {
// اعرض اسم المجلد
System.out.println("Folder: " + folderInfo.getDisplayName());
System.out.println("==================================");
// قم بالتكرار خلال جميع الرسائل الموجودة في هذا المجلد
MessageInfoCollection messageInfoCollection = folderInfo.getContents();
for (MessageInfo messageInfo : messageInfoCollection) {
System.out.println("Saving message {0} ...." + messageInfo.getSubject());
// احصل على الرسالة في مثيل MapiMessage
MapiMessage message = pst.extractMessage(messageInfo);
// احفظ هذه الرسالة على القرص بتنسيق msg
message.save(message.getSubject().replace(":", " ") + ".msg");
// احفظ هذه الرسالة للدفق بتنسيق msg
ByteArrayOutputStream messageStream = new ByteArrayOutputStream();
message.save(messageStream);
}
// استدعاء هذه الطريقة بشكل متكرر لكل مجلد فرعي
if (folderInfo.hasSubFolders() == true) {
for (FolderInfo subfolderInfo : folderInfo.getSubFolders()) {
extractMsgFiles(subfolderInfo, pst);
}
}
}
قراءة جهات الاتصال من توقيت المحيط الهادي في جافا
في بعض الحالات ، قد تحتاج إلى استخراج معلومات جهات الاتصال المخزنة في ملف PST. توضح الخطوات التالية كيفية الوصول إلى جهات الاتصال في ملف PST في Java.
- قم بتحميل ملف PST باستخدام طريقة PersonalStorage.fromFile().
- احصل على مرجع لمجلد جهات الاتصال باستخدام طريقة PersonalStorage.getRootFolder().getSubFolder (“جهات الاتصال”).
- احصل على مجموعة من جهات الاتصال باستخدام طريقة FolderInfo.getContents().
- قم بالتكرار خلال مجموعة جهات الاتصال واقرأ كل جهة اتصال أو احفظها.
يوضح نموذج التعليمات البرمجية التالي كيفية استخراج جهات الاتصال من ملف PST في Java.
// قم بتحميل ملف Outlook PST
PersonalStorage pst = PersonalStorage.fromFile("SampleContacts.pst");
// احصل على مجلد جهات الاتصال
FolderInfo folderInfo = pst.getRootFolder().getSubFolder("Contacts");
// قم بالتكرار خلال جميع جهات الاتصال الموجودة في هذا المجلد
MessageInfoCollection messageInfoCollection = folderInfo.getContents();
for (int i = 0; i < messageInfoCollection.size(); i++) {
MessageInfo messageInfo = (MessageInfo) messageInfoCollection.get_Item(i);
// احصل على معلومات الاتصال
MapiContact contact = (MapiContact) pst.extractMessage(messageInfo).toMapiMessageItem();
// اعرض بعض المحتويات على الشاشة
System.out.println("Name: " + contact.getNameInfo().getDisplayName() + "\n");
// حفظ على القرص بتنسيق MSG
if (contact.getNameInfo().getDisplayName() != null) {
MapiMessage message = pst.extractMessage(messageInfo); // Get rid of illegal characters that cannot be used as a file name
String messageName = message.getSubject().replace(":", " ").replace("\\", " ").replace("?", " ").replace("/", " ");
message.save(messageName + ".msg");
}
}
Java API لقراءة ملف Outlook PST - احصل على ترخيص مجاني
يمكنك تجربة Aspose.Email لجافا مجانًا من خلال الحصول على ترخيص مؤقت.
استنتاج
في هذه المقالة ، تعلمت كيفية قراءة ملفات PST برمجيًا في Java. علاوة على ذلك ، لقد رأيت كيفية استخراج معلومات المجلد وجلب رسائل البريد الإلكتروني واسترداد جهات الاتصال من ملف PST في Java. بالإضافة إلى ذلك ، يمكنك استكشاف المزيد حول Aspose.Email لجافا باستخدام التوثيق. أيضًا ، إذا كان لديك أي أسئلة أو استفسارات ، فلا تتردد في إخبارنا عبر المنتدى.