[ https://issues.apache.org/jira/browse/JAMES-1431?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eric Charles resolved JAMES-1431. --------------------------------- Resolution: Fixed Reclosing, JAMES-1433 had to be reopened instead. > Geronimo JavaMail implementation throws exception when opening content of an > image attachment > --------------------------------------------------------------------------------------------- > > Key: JAMES-1431 > URL: https://issues.apache.org/jira/browse/JAMES-1431 > Project: JAMES Server > Issue Type: Bug > Components: Deployment Modules, James Core > Affects Versions: 3.0-beta4 > Environment: Linux Fedora 14 > Reporter: Idea Harness > Assignee: Eric Charles > Attachments: arrow_down_8x8.png, BodyPartExtractingMailet.java, > btnbg_over.jpg, geronimo-javamail_1.4_mail-1.8.3.jar, up_15x15.gif > > > When image files (Content-Type: image/gif, image/jpeg, image/jpg) are > attached to emails and > Apache James 3.0 Beta4 serves as an MTA I am getting these exceptions on > MimeBodyPart.getContent() calls below (while processing the mail within the > attached > test.mailet.BodyPartExtractingMailet mailet). This is due to the fact that as > of Apache James Beta4 > it ships with Geronimo JavaMail implementation > (geronimo-javamail_1.4_mail-1.6.jar) that is the cause > of this exception (with Apache James Beta3 Oracle JavaMail implementation > (mail-1.4.4.jar) handled > this correctly without exceptions). > Precise steps to reproduce : > 1. Deploy the attached test.mailet.BodyPartExtractingMailet to run within > Apache James Beta4 > a. package it as a jar and put it under JAMES/lib > b. add <mailet match="All" class="test.mailet.BodyPartExtractingMailet"/> > to > JAMES/conf/mailetcontainer.conf > c. add log4j.logger.test.mailet.BodyPartExtractingMailet=DEBUG, CONS, FILE > to > JAMES/conf/log4j.properties > d. (re-) start James, tailing -f either JAMES/log/mailetcontainer.log or > JAMES/bin/wrapper.log > 2. Using your favorite email client send an email to yourself (with Apache > James processing > your email) containing attachments with MimeTypes image/jpeg, image/jpg and > image/gif > (surprisingly enough image/png is handled without an exception). You can use > attached > btnbg_over.jpg and up_15x15.gif. > 3. Observe these exceptions in the log file > spooler-1 | INFO | 11:51:14,807 08/13/2012 | mailetcontext | service() start > spooler-1 | INFO | 11:51:14,866 08/13/2012 | mailetcontext | BodyPart with > an image MimeType [image/gif; > name="up_15x15.gif"] found, BEFORE calling getContent() on it. > spooler-1 | INFO | 11:51:14,940 08/13/2012 | mailetcontext | Exception is > thrown during MimeBodyPart.getContent() call > javax.activation.UnsupportedDataTypeException: Unknown image type image/gif; > name="up_15x15.gif" > at > org.apache.geronimo.javamail.handlers.AbstractImageHandler.getContent(AbstractImageHandler.java:57) > at > javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:790) > at javax.activation.DataHandler.getContent(DataHandler.java:537) > at javax.mail.internet.MimeBodyPart.getContent(MimeBodyPart.java:637) > at > test.mailet.BodyPartExtractingMailet.service(BodyPartExtractingMailet.java:51) > at > org.apache.james.mailetcontainer.impl.camel.CamelProcessor.process(CamelProcessor.java:65) > ... > spooler-1 | INFO | 11:51:14,945 08/13/2012 | mailetcontext | BodyPart with > an image MimeType [image/png; > name="arrow_down_8x8.png"] found, BEFORE calling getContent() on it. > spooler-1 | INFO | 11:51:14,961 08/13/2012 | mailetcontext | BodyPart with > an image MimeType found, AFTER calling getContent() on it. > spooler-1 | INFO | 11:51:14,961 08/13/2012 | mailetcontext | BodyPart with > an image MimeType [image/jpeg; > name="btnbg_over.jpg"] found, BEFORE calling getContent() on it. > spooler-1 | INFO | 11:51:14,962 08/13/2012 | mailetcontext | Exception is > thrown during MimeBodyPart.getContent() call > javax.activation.UnsupportedDataTypeException: Unknown image type image/jpeg; > name="btnbg_over.jpg" > at > org.apache.geronimo.javamail.handlers.AbstractImageHandler.getContent(AbstractImageHandler.java:57) > at > javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:790) > at javax.activation.DataHandler.getContent(DataHandler.java:537) > at javax.mail.internet.MimeBodyPart.getContent(MimeBodyPart.java:637) > at > test.mailet.BodyPartExtractingMailet.service(BodyPartExtractingMailet.java:51) > at > org.apache.james.mailetcontainer.impl.camel.CamelProcessor.process(CamelProcessor.java:65) > ... > spooler-1 | INFO | 11:51:14,968 08/13/2012 | mailetcontext | service() end > Note #1: removing geronimo-javamail_1.4_mail-1.6.jar from the classpath fixes > the problem (ie, no > exceptions are thrown). However, you can't just comment the line out > > wrapper.java.classpath.88=%REPO_DIR%/geronimo-javamail_1.4_mail-1.6.jar > in JAMES/conf/wrapper.conf as all jars after this line will be lost (as they > are expected to be in order); hence just set the JavaMail (mail-1.4.4.jar) > which was already set up earlier (as Classpath argument 10) ... as also jar > argument 88 > wrapper.java.classpath.88=%REPO_DIR%/mail-1.4.4.jar > ). > Note #2: This issue might be documented in > https://issues.apache.org/jira/browse/GERONIMO-5415 > and was supposedly fixed in geronimo-javamail_1.4_mail-1.8.1.jar (however > Apache James Beta4 is using an older geronimo-javamail_1.4_mail-1.6.jar). I > don't know whether Apache James really needs > geronimo-javamail implementation as Oracle's JavaMail (ie. mail-1.4.4.jar) > seems to handle this > correctly. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org