Outlook Mesaj Dosyalarını Ayrıştırma
Java için Aspose.Email kullanarak, geliştiriciler yalnızca MSG dosyalarını yüklemekle kalmaz, aynı zamanda Outlook mesaj dosyalarının içeriğini de ayrıştırabilir.
- Diskten MSG dosyalarını yüklemek için şunu kullanın MapiMessage sınıfı statik Load metod.
- MSG dosyası içeriğini ayrıştırmak için, MapiMessage birçok yöntem sunar.
Bu konu, bir MSG dosyasını nasıl yükleyeceğinizi ve ardından içeriğini göstermek için nasıl ayrıştıracağınızı gösterir.
Aspose.Email for Java şu sağlayıcıyı sunar MapiMessage MSG dosyasını açmak ve ayrıştırmak için kullanılan sınıf. Bir MSG dosyasında birçok alıcı olabileceğinden, MapiMessage sınıf şu özelliği sunar getRecipients() bir döndüren yöntem MapiRecipientCollection ki, bir koleksiyonunu temsil eder MapiRecipient nesneler. MapiRecipient nesne, alıcı öznitelikleriyle çalışmak için ek yöntemler sunar.
Aşağıdaki adım sırası bu amacı hizmet eder:
- Şunun bir örneğini oluştur MapiMessage sınıfı, MSG dosyasını şuradan yüklemek için Load statik yöntem.
- MSG dosyasından gönderen adını, konusunu ve gövdesini şu ile göster: getSenderName(), getSubject() ve getBody() yöntemler.
- Şuğu çağırın getRecipients() tarafından sunulan yöntem MapiRecipient sınıfı, koleksiyonunun bir referansını almak için MapiRecipient MSG dosyasıyla ilişkili nesneler.
- Döngüyle gezin MapiRecipientCollection her biri için içerikleri göstermek amacıyla koleksiyon MapiRecipient nesneyi genel metodlarıyla.
// 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());
}
Deneyin!
Ücretsiz olarak e-posta dosyalarını çevrimiçi ayrıştırın Aspose.Email Ayrıştırıcı Uygulaması.
Bir MAPI Mesajının Öğe Türünü Al
Aspose.Email bir MapiItemType bir öğe tipini temsil eden enum. İlgili sınıftan türetilen bir nesneye mesaj dönüşümü için kullanılabilir. IMapiMessageItem arabirim. Bu, kullanıcıların mesaj dönüşümünden önce MessageClass özelliği değerini kontrol etmelerini önler.
Aşağıdaki kod örneği, bir klasördeki mesajlar arasında nasıl döngü yapılacağını ve her MAPI mesajının mesaj tipine bağlı olarak ilgili MAPI öğe tipine nasıl dönüştürüleceğini göstermektedir:
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;
}
}