PST (Kişisel Depolama Tablosu), MS Outlook, Exchange ve Windows Messaging gibi farklı Microsoft programları tarafından depolama amacıyla kullanılan iyi bilinen bir dosya biçimidir. PST dosyaları, mesajları, kişileri ve takvimler, etkinlikler vb. diğer öğeler hakkındaki bilgileri depolayabilir. Bazı durumlarda, bir PST dosyasını ayrıştırmanız ve ondan programlı olarak veri almanız gerekebilir. Bunu başarmak için bu makale, Java’da Outlook PST dosyalarının nasıl okunacağını gösterir. Kod örneklerinin yardımıyla, klasörlerin bilgilerini nasıl çıkaracağınızı, e-postaları nasıl okuyacağınızı ve bir PST dosyasından kişileri nasıl alacağınızı öğreneceksiniz.
- Outlook PST Dosyasını Okumak için Java API
- Java’da bir Outlook PST Dosyasını Okuyun
- Bir PST Dosyasından E-postaları Okuyun
- Kişileri bir PST Dosyasından Çıkarın
Outlook PST Dosyasını İşleyecek Java API’si - Ücretsiz İndirme
Aspose.Email for Java, e-posta oluşturmak ve göndermek için popüler ve zengin özelliklere sahip bir e-posta işleme API’sidir. Ayrıca, popüler e-posta istemcileri ve depolama dosyası biçimleriyle çalışmanıza olanak tanır. Bu yazıda, PST dosyalarından mesajları ve diğer bilgileri okumak için Aspose.Email for Java’yı kullanacağız. API’yi indirebilir veya aşağıdaki Maven yapılandırmalarını kullanarak yükleyebilirsiniz.
Depo:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Bağımlılık:
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.3</version>
<classifier>jdk16</classifier>
</dependency>
Java’da bir Outlook PST Dosyasını Okuyun
Aşağıdakiler, bir PST dosyasını okumak ve Java’daki bilgilerini çıkarmak için gereken adımlardır.
- PersonalStorage.fromFile() yöntemini kullanarak PST dosyasını yükleyin.
- PersonalStorage.getRootFolders().getSubFolders() yöntemini kullanarak PST’deki klasör koleksiyonunu alın.
- Ad, öğe sayısı vb. gibi klasörlerin bilgilerini alın.
Aşağıdaki kod örneği, Java’da bir PST dosyasının nasıl okunacağını ve klasör bilgilerinin nasıl alınacağını gösterir.
// Outlook PST dosyasını yükleyin
PersonalStorage pst = PersonalStorage.fromFile("PersonalStorage.pst");
// Klasör bilgilerini al
FolderInfoCollection folderInfoCollection = pst.getRootFolder().getSubFolders();
// Bilgileri görüntülemek için her klasöre göz atın
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("-----------------------------------");
}
Java Bir PST’den E-postaları Oku
Aşağıda, Java’daki bir PST dosyasından e-posta mesajlarını okuma adımları yer almaktadır.
- PersonalStorage.fromFile() yöntemini kullanarak PST dosyasını yükleyin.
- PersonalStorage.getRootFolder() yöntemini kullanarak kök klasöre erişin.
- FolderInfo.getContents() yöntemini kullanarak her alt klasörden ileti toplama alın.
- Koleksiyondaki mesajlar arasında dolaşın ve her mesajın alanlarını okuyun.
Aşağıdaki kod örneği, Java’da bir PST dosyasından mesajların nasıl çıkarılacağını gösterir.
// Outlook PST dosyasını yükleyin
PersonalStorage pst = PersonalStorage.fromFile(path);
// PST dosyasının Ekran Formatını Alın
System.out.println("Display Format: " + pst.getFormat());
// Klasörleri ve mesaj bilgilerini alın
FolderInfo folderInfo = pst.getRootFolder();
// Her klasörden mesaj dosyalarını ayıklamak için özyinelemeli yöntemi çağırın
extractMsgFiles(folderInfo, pst);
// Bu, bir klasörün içeriğini görüntülemek için özyinelemeli bir yöntemdir
private static void extractMsgFiles(FolderInfo folderInfo, PersonalStorage pst) {
// klasör adını göster
System.out.println("Folder: " + folderInfo.getDisplayName());
System.out.println("==================================");
// Bu klasördeki tüm iletiler arasında dolaşın
MessageInfoCollection messageInfoCollection = folderInfo.getContents();
for (MessageInfo messageInfo : messageInfoCollection) {
System.out.println("Saving message {0} ...." + messageInfo.getSubject());
// Mesajı MapiMessage örneğinde alın
MapiMessage message = pst.extractMessage(messageInfo);
// Bu mesajı msg formatında diske kaydedin
message.save(message.getSubject().replace(":", " ") + ".msg");
// msg formatında akış için bu mesajı kaydedin
ByteArrayOutputStream messageStream = new ByteArrayOutputStream();
message.save(messageStream);
}
// Her alt klasör için bu yöntemi yinelemeli olarak çağırın
if (folderInfo.hasSubFolders() == true) {
for (FolderInfo subfolderInfo : folderInfo.getSubFolders()) {
extractMsgFiles(subfolderInfo, pst);
}
}
}
Kişileri Java’daki bir PST’den okuyun
Bazı durumlarda, kişilerin bir PST dosyasında saklanan bilgilerini çıkarmanız gerekebilir. Aşağıdaki adımlar, Java’da bir PST dosyasındaki kişilere nasıl erişileceğini gösterir.
- PersonalStorage.fromFile() yöntemini kullanarak PST dosyasını yükleyin.
- PersonalStorage.getRootFolder().getSubFolder(“Contacts”) yöntemini kullanarak kişiler klasörünün referansını alın.
- FolderInfo.getContents() yöntemini kullanarak kişilerin koleksiyonunu alın.
- Kişi koleksiyonunda dolaşın ve her kişiyi okuyun veya kaydedin.
Aşağıdaki kod örneği, Java’daki bir PST dosyasından kişilerin nasıl çıkarılacağını gösterir.
// Outlook PST dosyasını yükleyin
PersonalStorage pst = PersonalStorage.fromFile("SampleContacts.pst");
// Kişiler klasörünü alın
FolderInfo folderInfo = pst.getRootFolder().getSubFolder("Contacts");
// Bu klasördeki tüm kişiler arasında dolaşın
MessageInfoCollection messageInfoCollection = folderInfo.getContents();
for (int i = 0; i < messageInfoCollection.size(); i++) {
MessageInfo messageInfo = (MessageInfo) messageInfoCollection.get_Item(i);
// İletişim bilgilerini alın
MapiContact contact = (MapiContact) pst.extractMessage(messageInfo).toMapiMessageItem();
// Bazı içerikleri ekranda göster
System.out.println("Name: " + contact.getNameInfo().getDisplayName() + "\n");
// MSG formatında diske kaydet
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");
}
}
Outlook PST Dosyasını Okumak için Java API’si - Ücretsiz Lisans Alın
Geçici bir lisans alarak Aspose.Email for Java’yı ücretsiz deneyebilirsiniz.
Çözüm
Bu makalede, PST dosyalarını Java’da programlı olarak nasıl okuyacağınızı öğrendiniz. Ayrıca, Java’da bir PST dosyasından klasör bilgilerini nasıl çıkaracağınızı, e-postaları nasıl alacağınızı ve kişileri nasıl alacağınızı gördünüz. Ek olarak, documentation kullanarak Aspose.Email for Java hakkında daha fazlasını keşfedebilirsiniz. Ayrıca, herhangi bir sorunuz veya sorunuz olması durumunda, [forumumuz] aracılığıyla bize bildirmekten çekinmeyin]14.