2017-08-03 8 views
0

次のjavaコードでoutlookから電子メール本文を読み取ろうとしています。電子メールにテーブルが含まれている場合、どのように正しく読むのですか?使用 コードはまず、このJavaMailのよくある質問項目は、あなたが電子メールメッセージでmain message bodyを見つけましょうどのようにテーブルのJavaコードで電子メールを読む?

// Methods to get Email message content. 
    private String getTextFromMessage(Message message) throws Exception { 
    String result = ""; 
    if (message.isMimeType("text/plain")) { 
     result = message.getContent().toString(); 
    } else if (message.isMimeType("multipart/*")) { 
     MimeMultipart mimeMultipart = (MimeMultipart)message.getContent(); 
     result = getTextFromMimeMultipart(mimeMultipart); 
    } 
    result = removeHyperTextContent(result); 
    return result; 
    } 

    private String getTextFromMimeMultipart(MimeMultipart mimeMultipart) throws Exception 
    { 
    String result = ""; 
    int count = mimeMultipart.getCount(); 
    for (int i = 0; i < count; i++) { 
     BodyPart bodyPart = mimeMultipart.getBodyPart(i); 
     if (bodyPart.isMimeType("text/plain")) { 
     result = result + "\n" + bodyPart. getContent(); 
     break; } 
     if (bodyPart.isMimeType("text/html")) { 
     String html = (String)bodyPart.getContent(); 
     result = result + "\n" + html; 
     } else if ((bodyPart.getContent() instanceof MimeMultipart)) { 
     result = result + getTextFromMimeMultipart((MimeMultipart)bodyPart.getContent()); 
     break; //This is added to break after recursive call, otherwise it fetches the content from next MultiPart. 
     } 
    } 
    result = removeHyperTextContent(result); 
    return result; 
    } 

1. Body of original body text 2 . Out put string I got

+0

あなたが探している出力が不明です。あなたはテーブルの正確な出力を得ているようです。あなたが文字列として電子メールを出力しているなら、それは得られるほど良いものです。 – drelliot

+0

。返信いただきありがとうございます。私はそれをブラウザ上のユーザにそのまま伝えたいと思います。どうやってやるの?前もって感謝します.. – Harishfysx

答えて

0

です。

あなたのコードでは、text/htmlコンテンツよりtext/plainコンテンツが好きです。テーブルはtext/plainコンテンツでうまくフォーマットされませんが、使用されるメーラーによって異なります。 text/htmlコンテンツにはテーブルに関するすべての情報が含まれますが、使用できるフォームでテーブル情報を抽出できるようにするには、htmlを解析する必要があります。

テーブルを抽出したら、そのテーブルで何をしたいか分かりません。結果をブラウザにhtmlとして表示している場合、オリジナルのhtmlテーブルを必要とすることがあります。

関連する問題