我使用名爲WebEngine(javafx)的控件來顯示由javamail下載的郵件內容。當內容是純文本或者帶有圖像src = http鏈接的html時,這很好,但是當郵件嵌入圖像(在src中有內容標識)時,控件不會顯示這些圖像(因爲不知道它在哪裏)。顯示電子郵件的最佳控制是什麼?如何做到這一點,當圖像存儲在內存中。也許加載郵件WebEngine不是一個好主意...Javamail和Javafx。閱讀並顯示郵件嵌入圖像
2
A
回答
0
我的猜測是,WebEngine不解碼和顯示多部分MIME編碼的消息,如你正在嘗試處理你的郵件。如果我記得有些瀏覽器像IE瀏覽器沒有處理多部分MIME編碼消息(也許還沒有)。
您可以使用類似Mime4J的東西解碼多部分消息,然後根據您從多部分消息獲得的解碼後的mimetype在控件(或必需的外部應用程序)中顯示已解碼的內容部分。
- WebView將能夠顯示一串的mime類型等的text/html, 文本/無格式,圖像/ JPEG等
- PDF可以與JPedalFX PDF Viewer被顯示的。
- text/plain可以通過Label呈現。
- 各種圖像/ * MIME類型可以通過ImageView呈現。
- 任何JavaFX控件本身不支持的單詞文檔和其他格式都可以寫入文件並通過HostServices.showDocument或DeskTop.open啓動。
1
您需要一個URLStreamHandler來處理「cid」URL協議並提供來自MIME消息相應部分的數據。我相信你需要通過創建URLStreamHandlerFactory並調用URL.setURLStreamHandlerFactory method來配置URLStreamHandler。我記得,訣竅是無法獲取默認的URLStreamHandlerFactory,因此您的版本可以委託給所有其他URL協議的默認版本。
或者,您可以將所有附件保存到磁盤,然後在顯示html內容之前處理它,以將所有cid:引用轉換爲文件:引用。
相關問題
- 1. 使用JavaMail閱讀郵件
- 2. 嵌入的圖像不顯示在來自Javamail的電子郵件html模板
- 3. 閱讀並顯示WebP圖像
- 4. 的Android閱讀郵件用JavaMail API
- 5. 如何在javamail imap中獲取郵件嵌入圖像?
- 6. 通過javamail在郵件中嵌入圖像的錯誤
- 7. 閱讀和顯示文件
- 8. 閱讀郵件和使用javamail的同一郵件的附件名稱
- 9. Gmail未在電子郵件中顯示嵌入式圖像
- 10. 在HTML電子郵件中顯示嵌入式圖像Django
- 11. 讀取圖像文件,並顯示它
- 12. 使用IMAP閱讀最近未讀郵件的JavaMail
- 13. JS閱讀圖片並顯示
- 14. JavaMail閱讀消息
- 15. 發送電子郵件與嵌入式圖像,圖像不顯示在Gmail中
- 16. 閱讀電子郵件文本文件轉換爲Javamail MimeMessage
- 17. 以C語言閱讀並顯示灰度圖像。
- 18. JavaFX ImageView圖像不顯示
- 19. 如何將base64圖像嵌入到使用javamail的電子郵件中
- 20. 使用JavaMail API發送帶有嵌入式圖像的電子郵件
- 21. 在jsp網頁中顯示郵件正文的內嵌或嵌入圖像
- 22. 閱讀kmz文件並在地圖上顯示圖片
- 23. 當使用Javamail附加嵌入式圖像時,無法讀取iphone附件
- 24. 使用JavaMail API閱讀郵件的回覆日期IMAP
- 25. 通過Javamail閱讀郵件時的連接超時
- 26. 如何配置glassfish javamail會話以閱讀電子郵件?
- 27. 如何閱讀Yahoo!使用JavaMail的郵件?
- 28. JavaMail - 如何閱讀實際的郵件內容,而不是「javax.mail.internet.MimeMultipart」
- 29. javamail通過ssl連接到imap以閱讀郵件
- 30. 通過JavaMail閱讀POP3郵件僅返回html