2013-10-23 47 views
0

我有原始的MIME消息,其中包含HTML內容,內嵌圖像和附件。如何解析java中的原始MIME內容?

我想解析和顯示HTML頁面中的內容,就像郵件客戶端正在顯示。

是否有任何Java庫或方法可用於解析原始MIME內容?

+1

顯示它在哪裏?擺動組件? html頁面? – MaVRoSCy

+0

@MaVRoSCy我想在html頁面中顯示內容。 – john

+0

對象的類型是什麼?它是一個MimeMessage還是一個包含消息的字符串? –

回答

3

您需要閱讀的文件,然後創建一個MimeMessage:

// read the file 
    StringBuffer fileData = new StringBuffer(1000); 
    BufferedReader reader = new BufferedReader(new FileReader(new File(/*PATH*/))); 
    char[] buf = new char[1024]; 
    int numRead = 0; 
    while ((numRead = reader.read(buf)) != -1) { 
     fileData.append(buf, 0, numRead); 
    } 
    reader.close(); 



// Create a MimeMessage 


Properties props = System.getProperties(); 
Session session = Session.getInstance(props, null); 
MimeMessage message = new MimeMessage(session, new ByteArrayInputStream(fileData.toString().getBytes())); 

現在,你有,你可以使用訪問其內容的MIME消息:

message.getContent(); 

內容類型將取決於MIME類型(可以是字符串,多部分對象...)

以下是MimeMessage的JavaDoc

+0

在調用MimeMessage構造函數之前,您不需要複製數據;直接給它提供文件,例如,使用[SharedFileInputStream](https://javamail.java.net/nonav/docs/api/javax/mail/util/SharedFileInputStream.html)。 –