![](https://products-qa.fileformat.com/pl/email/java/apache-poi-hsmf/header-image.png)
Apache POI HSMF
Przetwarzaj pliki MSG za pomocą Open Source Java API
Czytaj pliki MSG programu Microsoft Outlook, aby uzyskać dostęp do informacji o renderowaniu, treści tematu i treści lub wyodrębniania załączników za pomocą Apache POI.
Jeśli jesteś programistą Java i szukasz biblioteki przetwarzania poczty e-mail do przetwarzania wiadomości e-mail, możesz rozważyć Apache POI-HSMF. Jest to czysta implementacja formatu MSG programu Outlook w ramach projektu POI, zapewniająca niskopoziomowy dostęp do odczytu plików MSG wraz z bezpośrednim sposobem uzyskania dostępu do typowej treści tekstowej plików MSG, takiej jak nadawca, temat, treść wiadomości i inne. . Programiści mogą uzyskiwać informacje o nagłówkach wiadomości, zapisywać wiadomości e-mail, odczytywać właściwości o stałym rozmiarze z pliku MSG, wyodrębniać wbudowane właściwości wiadomości, pracować z kodowaniem wiadomości i wiele więcej.
Pierwsze kroki z Apache POI HSMF
Przede wszystkim musisz mieć zainstalowany zestaw Java Development Kit (JDK) w swoim systemie. Jeśli już go masz, przejdź do strony pobieranie Apache POI, aby pobrać najnowszą stabilną wersję w archiwum. Wyodrębnij zawartość pliku ZIP w dowolnym katalogu, z którego wymagane biblioteki można połączyć z programem Java. To wszystko!
Odwoływanie się do punktów POI Apache w projekcie Java opartym na Maven jest jeszcze prostsze. Wszystko, czego potrzebujesz, to dodać następującą zależność do pliku pom.xml i pozwolić swojemu środowisku IDE pobierać i odwoływać się do plików Apache POI Jar.
Zależność 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 do dostępu do plików MSG programu Outlook
Apache POI-HSMF umożliwia programistom i programistom Java dostęp do zawartości plików MSG programu Outlook. Apache POI-HSMF to port formatu pliku wiadomości programu Microsoft Outlook na czystą Javę. Interfejs API jest obecnie na bardzo podstawowym poziomie i dlatego dostępna jest ograniczona funkcjonalność do pracy z wiadomościami e-mail. Deweloperzy mogą uzyskać
Wyodrębnij dane z 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
Czytaj i wyodrębnia załączniki z pliku MSG programu Outlook
Apache POI-HSMF API umożliwia programistom Java analizowanie plików MSG programu Outlook; wyodrębnij i przeczytaj zawartość osadzonego dokumentu. Deweloperzy mają dostęp do załączników wiadomości MAPI. Obsługuje odczyt jednego lub kilku plików MSG programu Outlook i dla każdego z nich tworzy plik tekstowy z dostępnych fragmentów oraz katalog zawierający załączniki. Odczytuje załączniki z pliku MSG programu Outlook i zapisuje je na dysku jako osobny plik.
Wyodrębnij załączniki dla 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
Zapisz treść wiadomości e-mail w aplikacjach Java
Programiści Java mogą używać interfejsu API Apache POI-HSMF do wyodrębniania i zapisywania treści wiadomości e-mail. Treść wiadomości e-mail można wyodrębnić, aby utworzyć nowy plik, a następnie zapisać ją na dysku za pomocą FileWrite.
Wyodrębnij treść wiadomości e-mail, aby utworzyć nowy plik za pomocą Javy
String filename = "message.msg";
MAPIMessage msg = new MAPIMessage(filename);
PrintWriter txtOut = new PrintWriter("ApacheMessage.txt");
txtOut.println("Email Body: " + msg.getTextBody());
txtOut.close();