我正在使用javamail,通過Jodd Mail加載來自IMAP收件箱的電子郵件。該應用程序部署在glassfish中,並且在Windows中使用Oracle Java 7運行時沒有問題。使用圖像附件加載電子郵件問題
使用Oracle Java 7在CentOS 64位計算機上運行glassfish時,存在問題。當加載的圖像附件則拋出異常:
java.lang.IllegalArgumentException: failed to parse:
at java.awt.datatransfer.DataFlavor.<init>(DataFlavor.java:368)
at javax.activation.ActivationDataFlavor.<init>(ActivationDataFlavor.java:81)
at com.sun.xml.internal.ws.encoding.ImageDataContentHandler.<init>(ImageDataContentHandler.java:57)
at sun.reflect.GeneratedConstructorAccessor3931.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at java.lang.Class.newInstance(Class.java:379)
at javax.activation.MailcapCommandMap.getDataContentHandler(MailcapCommandMap.java:588)
at javax.activation.MailcapCommandMap.createDataContentHandler(MailcapCommandMap.java:542)
at javax.activation.CommandMap.createDataContentHandler(CommandMap.java:221)
at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:614)
at javax.activation.DataHandler.getContent(DataHandler.java:542)
at javax.mail.internet.MimeBodyPart.getContent(MimeBodyPart.java:657)
at jodd.mail.ReceivedEmail.processPart(ReceivedEmail.java:89)
at jodd.mail.ReceivedEmail.processPart(ReceivedEmail.java:124)
at jodd.mail.ReceivedEmail.parseMessage(ReceivedEmail.java:82)
該附件具有以下標題:
Content-Type: image/png;
name="image1.png"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="image1.png"
我試圖與Oracle的Java 7和它運行在32位Linux機器相同的代碼段跑沒有問題。
這是javamail/java激活中的錯誤嗎?
內容處置:附件; filename =「image/png」 這是正確的嗎? – fukanchik 2015-03-02 16:30:08
@fukanchik它不是。我已更正標題 – 2015-03-02 16:58:45
@FilipeGomes獲取圖像文件名後,如何在郵件正文中查看它?我想在郵件正文 – 2015-09-22 11:16:06