تحليل ملفات رسائل Outlook
باستخدام Aspose.Email لجاڤا، يمكن للمطورين ليس فقط تحميل بل أيضًا تحليل محتويات ملفات رسائل Outlook.
- لتحميل ملفات MSG من القرص، استخدم الـ MapiMessage فئة ثابتة Load طريقة.
- لتحليل محتويات ملف MSG، الـ MapiMessage يُظهر عددًا من الأساليب.
يوضح هذا الموضوع كيفية تحميل ثم تحليل ملف MSG لعرض محتوياته.
توفر Aspose.Email للـ Java MapiMessage فئة تُستخدم لفتح وتحليل ملف MSG. بما أنه قد يكون هناك العديد من المستلمين في ملف MSG، الـ MapiMessage الفئة تكشف عن الـ getRecipients() طريقة تُعيد MapiRecipientCollection الذي يمثل مجموعة من MapiRecipient الكائنات. الـ MapiRecipient الكائن يُظهر مزيدًا من الأساليب للعمل مع سمات المستلمين.
تخدم التسلسل التالي من الخطوات هذا الغرض:
- إنشاء مثيل من الـ MapiMessage فئة لتحميل ملف MSG من الـ Load طريقة ثابتة.
- عرض اسم المُرسل، والموضوع، والنص من ملف MSG باستخدام getSenderName(), getSubject() و getBody() الطرق.
- استدعِ الـ getRecipients() طريقة معروضة من قبل MapiRecipient فئة للحصول على إشارة إلى مجموعة الـ MapiRecipient الكائنات المرتبطة بملف MSG.
- التكرار عبر الـ MapiRecipientCollection مجموعة لعرض المحتويات لكل MapiRecipient كائن من خلال طرقه العامة.
// The path to the resource directory.
String dataDir = Utils.getSharedDataDir(ParsingOutlookMessageFiles.class) + "outlook/";
//Instantiate an MSG file to load an MSG file from disk
MapiMessage outlookMessageFile = MapiMessage.fromFile(dataDir + "message.msg");
//Display sender's name
System.out.println("Sender Name : " + outlookMessageFile.getSenderName());
//Display Subject
System.out.println("Subject : " + outlookMessageFile.getSubject());
//Display Body
System.out.println("Body : " + outlookMessageFile.getBody());
//Display Recipient's info
System.out.println("Recipients : \n");
//Loop through the recipients collection associated with the MapiMessage object
for (int i = 0; i < outlookMessageFile.getRecipients().size(); i++) {
//Set a reference to the MapiRecipient object
MapiRecipient rcp = (MapiRecipient) outlookMessageFile.getRecipients().get_Item(i);
//Display recipient email address
System.out.println("Email : " + rcp.getEmailAddress());
//Display recipient name
System.out.println("Name : " + rcp.getDisplayName());
//Display recipient type
System.out.println("Recipient Type : " + rcp.getRecipientType());
}
جرّبها!
حلل ملفات البريد الإلكتروني عبر الإنترنت مجانًا تطبيق Aspose.Email Parser.
الحصول على نوع عنصر من رسالة MAPI
توفر Aspose.Email MapiItemType تعداد يُمثل نوع العنصر. يمكن استخدامه لتحويل الرسالة إلى كائن من فئة مقابلة مشتقة من الـ IMapiMessageItem الواجهة. هذا يمنع المستخدمين من التحقق من قيمة الخاصية MessageClass قبل تحويل الرسالة.
توضح عينة الشفرة التالية كيفية التكرار عبر الرسائل في مجلد وتحويل كل رسالة MAPI إلى نوع عنصر MAPI المقابل، وفقًا لنوع الرسالة:
for (MessageInfo messageInfo : folder.enumerateMessages()) {
MapiMessage msg = pst.extractMessage(messageInfo);
switch (msg.getSupportedType()) {
// Non-supported type. MapiMessage cannot be converted to an appropriate item type.
// Just use in MSG format.
case MapiItemType.None:
break;
// An email message. Conversion isn't required.
case MapiItemType.Message:
break;
// A contact item. Can be converted to MapiContact.
case MapiItemType.Contact:
MapiContact contact = (MapiContact) msg.toMapiMessageItem();
break;
// A calendar item. Can be converted to MapiCalendar.
case MapiItemType.Calendar:
MapiCalendar calendar = (MapiCalendar) msg.toMapiMessageItem();
break;
// A distribution list. Can be converted to MapiDistributionList.
case MapiItemType.DistList:
MapiDistributionList dl = (MapiDistributionList) msg.toMapiMessageItem();
break;
// A Journal entry. Can be converted to MapiJournal.
case MapiItemType.Journal:
MapiJournal journal = (MapiJournal) msg.toMapiMessageItem();
break;
// A StickyNote. Can be converted to MapiNote.
case MapiItemType.Note:
MapiNote note = (MapiNote) msg.toMapiMessageItem();
break;
// A Task item. Can be converted to MapiTask.
case MapiItemType.Task:
MapiTask task = (MapiTask) msg.toMapiMessageItem();
break;
}
}