Mengurai File Pesan Outlook
Dengan menggunakan Aspose.Email untuk Java, pengembang tidak hanya dapat memuat tetapi juga mengurai konten dari file pesan Outlook.
- Untuk memuat file MSG dari disk, gunakan MapiMessage kelas statik Load metode.
- Untuk mengurai isi file MSG, MapiMessage menyediakan sejumlah metode.
Topik ini menunjukkan cara memuat dan kemudian mengurai file MSG untuk menampilkan isinya.
Aspose.Email untuk Java menyediakan MapiMessage kelas yang digunakan untuk membuka dan mengurai file MSG. Karena mungkin ada banyak penerima dalam file MSG, MapiMessage kelas mengekspos getRecipients() metode yang mengembalikan sebuah MapiRecipientCollection yang mewakili koleksi MapiRecipient objek. The MapiRecipient objek selanjutnya menyediakan metode untuk bekerja dengan atribut penerima.
Urutan langkah berikut melayani tujuan ini:
- Buat sebuah instansi dari MapiMessage kelas untuk memuat file MSG dari Load metode statis.
- Tampilkan nama pengirim, subjek, dan isi dari file MSG menggunakan getSenderName(), getSubject() dan getBody() metode.
- Panggil getRecipients() metode yang diekspos oleh MapiRecipient kelas untuk mendapatkan referensi ke koleksi MapiRecipient objek yang terkait dengan file MSG.
- Lakukan perulangan pada MapiRecipientCollection koleksi untuk menampilkan konten untuk setiap MapiRecipient objek melalui metode publiknya.
// 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());
}
Coba sekarang!
Urai file email secara daring dengan gratis Aspose.Email Parser App.
Dapatkan Tipe Item dari Pesan MAPI
Aspose.Email menawarkan sebuah MapiItemType enum yang mewakili tipe item. Ini dapat digunakan untuk konversi pesan menjadi objek dari kelas yang sesuai yang diturunkan dari IMapiMessageItem antarmuka. Ini menghindari pengguna harus memeriksa nilai properti MessageClass sebelum konversi pesan.
Contoh kode berikut menunjukkan cara mengulangi pesan-pesan dalam sebuah folder dan mengonversi setiap pesan MAPI menjadi tipe item MAPI yang sesuai, tergantung pada tipe pesan tersebut:
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;
}
}