2017-04-19 19 views
1

POI 3.15を使用して* .msgから名前、電子メールアドレス、件名、本文を抽出する小さなJavaプログラムを作成し、優れたシート。 * .msgファイルからPOIで名前の代わりに電子メールアドレスを受け取る[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. 

は、今私が代わりに彼の保存されたニックネームの送信者からの電子メールアドレスを取得したいと思います。

ちょうどbtw - すべての "to"人のEmailアドレスを受け取るために、getRecipientEmailAddress()を使うことができます。

どのような対処方法がありますか?事前に

おかげ

編集: 私はちょうどあなたがリターンパスを取得するためにgetHeadersの最初の要素を()を使用することができます気づいた - 「から」のEMAILADDRESSです。ちょっと汚い方法です...私の質問にはまだ答えがあります;)

+0

この問題に関するディスカッションが見つかりました。まもなくApacheのライブラリーにハックなソリューションが来るようです。 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(); 
関連する問題