Sorry, I haven't yet. I've been bogged with other stuff and haven't even looked into how to build camel from source...excuses, excuses. I hope to get around to it in the next week or so and will definitely let you know!
Thanks, Dan Claus Ibsen-2 wrote: > > Hi > > Did you try with this code and did it work for you? > > > On Thu, Nov 5, 2009 at 12:50 AM, dcheckoway <dchecko...@gmail.com> wrote: >> >> Claus, I'm not a contributor on the Camel project, but here's what I >> would >> advocate trying in MailBinding.java, expanding the meaning of >> "ignoreUnsupportedCharset" a bit: >> >> public Object extractBodyFromMail(Exchange exchange, Message message) >> { >> return extractBodyFromMail(exchange, message, false); >> } >> >> private Object extractBodyFromMail(Exchange exchange, Message message, >> boolean isSecondAttempt) { >> try { >> return message.getContent(); >> } catch (Exception e) { >> if (!isSecondAttempt && >> (e instanceof java.io.UnsupportedEncodingException || >> (e.getCause() != null && >> e.getCause() instanceof >> java.io.UnsupportedEncodingException)) && >> configuration.isIgnoreUnsupportedCharset()) { >> // The charset is unsupported, but we've been configured >> to >> // ingore that condition. Let's at least attempt to >> rewrite >> // the Content-Type header and omit the unsupported >> charset. >> // This may wreak havoc down the line, but it's better >> than >> // Camel just bailing on this exchange, and ending up >> retrying >> // this same message over and over, and failing every >> time... >> String contentType = message.getContentType(); >> if (contentType != null) { >> // Wipe out the charset=... from the Content-Type >> header >> contentType = >> contentType.replaceAll("\\s*charset=[^;\\s]+", ""); >> part.setHeader("Content-Type", contentType); >> // Try again...pass isSecondAttempt=true this time >> return extractBodyFromMail(exchange, message, true); >> } >> } >> else { >> throw new RuntimeCamelException("Failed to extract body >> due >> to: " + e.getMessage() >> + ". Exchange: " + >> exchange >> + ". Message: " + message, e); >> } >> } >> } >> >> What do you think? >> >> >> >> Claus Ibsen-2 wrote: >>> >>> On Wed, Nov 4, 2009 at 7:24 PM, dcheckoway <dchecko...@gmail.com> wrote: >>>> >>>> Is there any way to "intercept" the raw mail message content before it >>>> gets >>>> passed to the java mail API? I would be happy to manually munge the >>>> Content-Type header if I detect one of the known-to-be-funky charsets >>>> in >>>> there. >>>> >>> >>> You can use a custom MailBinding class, e.g. extending the on in >>> camel-maill. >>> >> >> -- >> View this message in context: >> http://old.nabble.com/Camel-Mail-issue-with-unsupported-charset-tp24755585p26206832.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> > > > > -- > Claus Ibsen > Apache Camel Committer > > Author of Camel in Action: http://www.manning.com/ibsen/ > Open Source Integration: http://fusesource.com > Blog: http://davsclaus.blogspot.com/ > Twitter: http://twitter.com/davsclaus > > -- View this message in context: http://old.nabble.com/Camel-Mail-issue-with-unsupported-charset-tp24755585p26251752.html Sent from the Camel - Users mailing list archive at Nabble.com.