![](https://products-qa.fileformat.com/bg/email/java/apache-poi-hsmf/header-image.png)
Apache POI HSMF
Обработвайте MSG файлове чрез Java API с отворен код
Прочетете Microsoft Outlook MSG файлове за достъп до Render Information, Subject & Body contents или Extract Attachments с Apache POI.
Ако сте разработчик на Java, който търси библиотека за обработка на имейл съобщения, може да помислите за Apache POI-HSMF. Това е чистата Java реализация на Outlook MSG формата на проекта POI, осигуряваща достъп за четене на ниско ниво до MSG файлове, заедно с обърнат към потребителя начин за достигане до общото текстово съдържание на MSG файлове като подател, тема, тяло на съобщението и други . Разработчиците могат да получават информация за заглавки на съобщения, да запазват имейл съобщения, да четат фиксирани свойства на размера от MSG файл, да извличат вградени свойства на съобщения, да работят с кодиране на съобщения и много повече.
Първи стъпки с Apache POI HSMF
На първо място, трябва да имате инсталиран Java Development Kit (JDK) на вашата система. Ако вече го имате, продължете към страницата за изтегляне на Apache POI, за да получите най-новата стабилна версия в архив. Извлечете съдържанието на ZIP файла във всяка директория, откъдето необходимите библиотеки могат да бъдат свързани към вашата Java програма. Това е всичко!
Позоваването на Apache POI във вашия базиран на Maven Java проект е още по-лесно. Всичко, от което се нуждаете, е да добавите следната зависимост във вашия pom.xml и да оставите вашата IDE да извлича и препраща към Apache POI Jar файловете.
Apache POI Maven зависимост
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>
API to Access Outlook MSG Files
API за достъп до Outlook MSG файлове
Apache POI-HSMF позволява на Java разработчици и програмисти да имат достъп до съдържанието на Outlook MSG файлове. Apache POI-HSMF е порт на файловия формат за съобщения на Microsoft Outlook към чиста Java. Приложният програмен интерфейс (API) към момента е на много основно ниво и следователно е налична ограничена функционалност за работа с имейл съобщения. Разработчиците могат да получат
Извличане на данни от MSG - Java
// Open MSG file
MAPIMessage msg = new MAPIMessage("sample.msg");
// Read Content
System.out.println("From: " + msg.getDisplayFrom());
System.out.println("To: " + msg.getDisplayTo());
System.out.println("CC: " + msg.getDisplayCC());
System.out.println("BCC: " + msg.getDisplayBCC());
System.out.println("Subject: " + msg.getSubject());
Read & Extracts Attachments from Outlook MSG File
Чете и извлича прикачени файлове от Outlook MSG файл
Apache POI-HSMF API позволява на Java разработчиците да анализират MSG файлове на Outlook; извлечете и прочетете съдържанието на вградения документ. Разработчиците имат достъп до прикачени файлове на MAPI съобщения. Той поддържа четене на един или няколко Outlook MSG файла и за всеки от тях създава текстов файл от наличните парчета и директория, която съдържа прикачени файлове. Той чете прикачени файлове от Outlook MSG файла и го записва на диска като отделен файл.
Извличане на прикачени файлове за MSG - Java
// Open MSG file
MAPIMessage msg = new MAPIMessage("sample.msg");
// Extract Attachment
AttachmentChunks[] attachments = msg.getAttachmentFiles();
if(attachments.length > 0) {
File d = new File("D:\\Attachments");
if(d.mkdir()) {
for(AttachmentChunks attachment : attachments) {
processAttachment(attachment, d);
}
}
}
Save Email Message Contents inside Java Apps
Запазете съдържанието на имейл съобщение в Java приложения
Java програмистите могат да използват Apache POI-HSMF API за извличане и запазване на съдържанието на имейл съобщение. Тялото на имейла може да бъде извлечено, за да се създаде нов файл и след това можете да го запишете на диск с помощта на FileWrite.
Извлечете тялото на имейла, за да създадете нов файл чрез Java
String filename = "message.msg";
MAPIMessage msg = new MAPIMessage(filename);
PrintWriter txtOut = new PrintWriter("ApacheMessage.txt");
txtOut.println("Email Body: " + msg.getTextBody());
txtOut.close();