Parsing UTF-7 email messages
UTF-7 is a rather unusual encoding, while Atlassian allows the below changes for the bundled Java, however, Atlassian Support does not provide assistance for configuring them. Consequently, Atlassian cannot guarantee to provide any support for them.
This is mainly a Java limitation, accordingly, If you need help with the Jave configurations please reach out to the Java vendor.
Email messages in unicode-1-1-utf-7
(aka utf-7
) cannot be parsed. The following appears in the atlassian-jira.log
:
2007-01-31 12:54:59,176 JiraQuartzScheduler_Worker-2 ERROR [service.util.handler.CreateIssueHandler] Could not create issue!
java.io.UnsupportedEncodingException: unicode-1-1-utf-7
at sun.nio.cs.StreamDecoder.forInputStreamReader(StreamDecoder.java:52)
at java.io.InputStreamReader.<init>(InputStreamReader.java:83)
at com.sun.mail.handlers.text_plain.getContent(text_plain.java:64)
at javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:774)
at javax.activation.DataHandler.getContent(DataHandler.java:521)
at javax.mail.internet.MimeBodyPart.getContent(MimeBodyPart.java:603)
at com.atlassian.jira.service.util.handler.AbstractMessageHandler.handleMultipart(AbstractMessageHandler.java:236)
at com.atlassian.jira.service.util.handler.AbstractMessageHandler.createAttachmentsForMessage(AbstractMessageHandler.java:201)
at com.atlassian.jira.service.util.handler.CreateIssueHandler.handleMessage(CreateIssueHandler.java:201)
at com.atlassian.jira.service.util.handler.CreateOrCommentHandler.handleMessage(CreateOrCommentHandler.java:115)
at com.atlassian.jira.service.services.mail.MailFetcherService.run(MailFetcherService.java:190)
at com.atlassian.jira.service.JiraServiceContainerImpl.run(JiraServiceContainerImpl.java:67)
at com.atlassian.jira.service.ServiceRunner.execute(ServiceRunner.java:48)
at org.quartz.core.JobRunShell.run(JobRunShell.java:191)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:516)
Workaround
Java 8
- Download the jutf7 jar from http://sourceforge.net/projects/jutf7
Copy the jar to your
$JAVA_HOME/jre/lib/ext
directory.The JAR file has to be in exactly this directory for the class loader to pick it up.
- Restart JIRA.
Java 11
As per Oracle documentation, the "ext" path has been removed starting from java 9 and needs to be set in the classpath, accordingly, you can add the jar directory in the "setenv.sh".
- Download the jutf7 jar from http://sourceforge.net/projects/jutf7.
Copy the jar to your desired
$JAVA_HOME
directory.Export the file in your setenv.sh.
export CLASSPATH=.:path1/xxx.jar:path2/yyy.jar
4. Restart Jira.