Java에서 Outlook 이메일 구문 분석

3872 단어 tutorialjavaemail
최근에 자동화된 테스트가 다단계 인증을 통과할 수 있도록 일부 값을 추출하기 위해 Outlook 이메일을 구문 분석해야 했습니다. JavaScript에서 순진한 구현을 기대했지만 Java에서 좋은 라이브러리를 검색할 수 있는 안정적인 솔루션을 찾을 수 없었습니다. Outlook msg 파일을 구문 분석하기 위한 여러 솔루션이 있다는 사실에도 놀라지 않았습니다. Java에는 진정으로 모든 것을 위한 라이브러리가 있습니다.

Auxilii msgparser 라이브러리를 선택했습니다. 솔루션을 사용하는 것이 가장 쉬운 것처럼 보였기 때문입니다.

Maven을 통해 추가되었습니다.

<dependency>
    <groupId>com.auxilii.msgparser</groupId>
    <artifactId>msgparser</artifactId>
    <version>1.1.15</version>
</dependency>

사용법은 간단합니다.

Message parsedMessage = new MsgParser().parseMsg(msgFile.getInputStream());
String body = parsedMessage.getBodyText();
List<Attachment> attachments = parsedMessage.getAttachments();

MacOS용 Outlook은 이메일에 msg 형식을 사용하지 않습니다. Mac에서 내보낸 이메일은 eml 입니다. 파일을 읽는 동안 정규식을 통해 구문 분석할 수 있도록 일반 텍스트로 내보내집니다.

모두를 지원하는 전체 코드는 다음과 같습니다.

String body = "";
if(file.getName().endsWith("msg")) {
    Message parsedMessage = new MsgParser().parseMsg(file);
    body = parsedMessage.getBodyText();
} else if (file.getName().endsWith("eml")) {
    body = new String(Files.readAllBytes(file.toPath()), StandardCharsets.UTF_8);
}
// here parse your body



이것이 흥미로우면 나를 팔로우할 수 있습니다.

좋은 웹페이지 즐겨찾기