Apache POI HSMF
오픈 소스 Java API를 통해 MSG 파일 처리
Microsoft Outlook MSG 파일을 읽고 Apache POI로 렌더 정보, 제목 및 본문 콘텐츠 또는 첨부 파일 추출에 액세스합니다.
이메일 메시지를 처리할 이메일 처리 라이브러리를 찾고 있는 Java 개발자라면 Apache POI-HSMF를 고려할 수 있습니다. POI 프로젝트의 Outlook MSG 형식의 순수한 Java 구현으로, 보낸 사람, 제목, 메시지 본문 등과 같은 MSG 파일의 공통 텍스트 콘텐츠를 얻을 수 있는 사용자 대면 방식과 함께 MSG 파일에 대한 저수준 읽기 액세스를 제공합니다. . 개발자는 메시지 헤더 정보를 얻고, 이메일 메시지를 저장하고, MSG 파일에서 고정 크기 속성을 읽고, 포함된 메시지 속성을 추출하고, 메시지 인코딩 작업 등을 수행할 수 있습니다.
Apache POI HSMF 시작하기
먼저 시스템에 JDK(Java Development Kit)가 설치되어 있어야 합니다. 이미 가지고 있는 경우 Apache POI의 다운로드 페이지로 이동하여 아카이브에서 최신 안정 릴리스를 얻으십시오. 필요한 라이브러리가 Java 프로그램에 링크될 수 있는 디렉토리에서 ZIP 파일의 컨텐츠를 추출하십시오. 그게 다야!
Maven 기반 Java 프로젝트에서 Apache POI를 참조하는 것은 훨씬 더 간단합니다. 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
Outlook MSG 파일에 액세스하는 API
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 개발자가 Outlook MSG 파일을 구문 분석할 수 있습니다. 포함된 문서의 내용을 추출하고 읽습니다. 개발자는 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();