2017-04-19 1 views
1

에서 POI로 이름 대신 전자 메일 주소 받기 POI 3.15를 사용하여 * .msg에서 이름, 전자 메일 주소, 제목, bodytext를 추출한 작은 Java 프로그램을 작성한 후 엑셀 시트. * .msg-File [Java]

MAPIMessage의 API 문서를 읽어 나는 보았다

getDisplayFrom() --> Gets the display value of the "FROM" line of the outlook message This is not the actual address that was sent from but the formated display of the user name. 

지금 내가 대신 자신의 저장 별명의 보낸 사람의 이메일 주소를 좀하고 싶습니다.

그냥 "모든" "대상"의 Emailaddress를 수신 할 경우 getRecipientEmailAddress()를 사용할 수 있습니다.

어떻게 처리할까요? 사전에

감사

편집 : 난 그냥 당신이 반환 경로 얻을 대해 getHeaders의 첫 번째 요소를()를 사용할 수 있습니다 발견 - "보낸 사람"의 EMAILADDRESS입니다. 좀 더러운 방식으로 ... 내 질문에 아직 답을 얻을 수 있습니다.)

+0

이 문제에 대한 토론이있었습니다. 아파치 도서관에 곧 나오는 해킹 해결책이있는 것 같습니다. https://issues.apache.org/jira/browse/TIKA-1865 –

답변

0

이전 버전에서는 모르겠지만 3.17에서는 주 청크에서 가져올 수 있습니다.

MAPIMessage msg = new MAPIMessage("email.msg"); 

Chunks mainChunks = msg.getMainChunks(); 
StringChunk emailFromChunk = mainChunks.getEmailFromChunk(); 
String emailFrom = emailFromChunk.getValue();