2012-09-14 60 views
2

我使用名爲WebEngine(javafx)的控件來顯示由javamail下載的郵件內容。當內容是純文本或者帶有圖像src = http鏈接的html時,這很好,但是當郵件嵌入圖像(在src中有內容標識)時,控件不會顯示這些圖像(因爲不知道它在哪裏)。顯示電子郵件的最佳控制是什麼?如何做到這一點,當圖像存儲在內存中。也許加載郵件WebEngine不是一個好主意...Javamail和Javafx。閱讀並顯示郵件嵌入圖像

回答

0

我的猜測是,WebEngine不解碼和顯示多部分MIME編碼的消息,如你正在嘗試處理你的郵件。如果我記得有些瀏覽器像IE瀏覽器沒有處理多部分MIME編碼消息(也許還沒有)。

您可以使用類似Mime4J的東西解碼多部分消息,然後根據您從多部分消息獲得的解碼後的mimetype在控件(或必需的外部應用程序)中顯示已解碼的內容部分。

1

您需要一個URLStreamHandler來處理「cid」URL協議並提供來自MIME消息相應部分的數據。我相信你需要通過創建URLStreamHandlerFactory並調用URL.setURLStreamHandlerFactory method來配置URLStreamHandler。我記得,訣竅是無法獲取默認的URLStreamHandlerFactory,因此您的版本可以委託給所有其他URL協議的默認版本。

或者,您可以將所有附件保存到磁盤,然後在顯示html內容之前處理它,以將所有cid:引用轉換爲文件:引用。

相關問題