Apache POI HSMF
Procesați fișierele MSG prin API-ul Java Open Source
Citiți fișierele MSG Microsoft Outlook pentru a accesa informațiile de randare, conținutul subiectului și corpul sau extrageți atașamente cu Apache POI.
Dacă sunteți un dezvoltator Java care căutați o bibliotecă de procesare a e-mailului pentru a procesa mesajele de e-mail, vă recomandăm să luați în considerare Apache POI-HSMF. Este implementarea Java pură a proiectului POI a formatului Outlook MSG, oferind acces de citire la nivel scăzut la fișierele MSG împreună cu o modalitate orientată către utilizator de a ajunge la conținutul textual comun al fișierelor MSG, cum ar fi expeditorul, subiectul, corpul mesajului și multe altele. . Dezvoltatorii pot obține informații despre anteturile mesajelor, pot salva mesaje de e-mail, pot citi proprietățile de dimensiune fixă din fișierul MSG, pot extrage proprietățile mesajelor încorporate, pot lucra cu codificarea mesajelor și multe altele.
Noțiuni introductive cu Apache POI HSMF
În primul rând, trebuie să aveți Java Development Kit (JDK) instalat pe sistemul dvs. Dacă îl aveți deja, treceți la pagina de descărcare a Apache POI pentru a obține cea mai recentă versiune stabilă într-o arhivă. Extrageți conținutul fișierului ZIP în orice director de unde bibliotecile necesare pot fi legate la programul dvs. Java. Asta e tot!
Referința la Apache POI în proiectul Java bazat pe Maven este și mai simplă. Tot ce aveți nevoie este să adăugați următoarea dependență în pom.xml și să lăsați IDE-ul să preia și să facă referire la fișierele Apache POI Jar.
Dependența 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 pentru a accesa fișierele MSG Outlook
Apache POI-HSMF permite dezvoltatorilor și programatorilor Java să acceseze conținutul fișierelor MSG Outlook. Apache POI-HSMF este un port al formatului de fișier de mesaje Microsoft Outlook către Java pur. API-ul se află la nivelul de bază de acum și, prin urmare, este disponibilă funcționalitate limitată pentru lucrul cu mesajele de e-mail. Dezvoltatorii pot obține
Extrageți date din 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
Citiți și extrage atașamente din fișierul MSG Outlook
API-ul Apache POI-HSMF le permite dezvoltatorilor Java să analizeze fișierele MSG Outlook; extrageți și citiți conținutul documentului încorporat. Dezvoltatorii pot accesa atașamentele mesajelor MAPI. Acceptă citirea unuia sau mai multor fișiere Outlook MSG și pentru fiecare dintre ele creează un fișier text din bucățile disponibile și un director care conține atașamente. Citește atașamentele din fișierul MSG Outlook și îl scrie pe disc ca fișier individual.
Extrageți atașamente pentru 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
Salvați conținutul mesajului de e-mail în aplicațiile Java
Programatorii Java pot folosi Apache POI-HSMF API pentru a extrage și a salva conținutul mesajelor de e-mail. Corpul e-mailului poate fi extras pentru a crea un fișier nou și apoi îl puteți scrie pe disc cu ajutorul FileWrite.
Extrageți corpul e-mailului pentru a crea un fișier nou prin Java
String filename = "message.msg";
MAPIMessage msg = new MAPIMessage(filename);
PrintWriter txtOut = new PrintWriter("ApacheMessage.txt");
txtOut.println("Email Body: " + msg.getTextBody());
txtOut.close();