Hello,

I'm using camel 2.11.1.

I try to read emails from an exchange-server via imap(s):
      from(
      
"imaps://{{email.server}}?username={{email.username}}&password=RAW({{email.password}})"
         + 
"&delete=false&unseen=true&consumer.delay=600000&folderName={{email.folder}}"
         + "&debugMode=true&mapMailMessage=false"
         + "&fetchSize=1&contentType=text/html")
 
If - for example - the mail is signed, I get the following error:
org.apache.camel.RuntimeCamelException: Error populating the initial mail 
message attachments
        at 
org.apache.camel.component.mail.MailMessage.populateInitialAttachments(MailMessage.java:124)
        at 
org.apache.camel.impl.DefaultMessage.createAttachments(DefaultMessage.java:209)
        at 
org.apache.camel.impl.DefaultMessage.getAttachments(DefaultMessage.java:274)
        at org.apache.camel.component.mail.MailMessage.copy(MailMessage.java:62)
        at org.apache.camel.component.mail.MailMessage.copy(MailMessage.java:33)
        at 
org.apache.camel.impl.DefaultUnitOfWork.<init>(DefaultUnitOfWork.java:91)
        at 
org.apache.camel.impl.DefaultUnitOfWork.<init>(DefaultUnitOfWork.java:71)
        at 
org.apache.camel.processor.UnitOfWorkProcessor.createUnitOfWork(UnitOfWorkProcessor.java:190)
        at 
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102)
        at 
org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
        at 
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72)
        at 
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99)
        at 
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86)
        at 
org.apache.camel.component.mail.MailConsumer.processExchange(MailConsumer.java:255)
        at 
org.apache.camel.component.mail.MailConsumer.processBatch(MailConsumer.java:199)
        at 
org.apache.camel.component.mail.MailConsumer.poll(MailConsumer.java:118)
        at 
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:142)
        at 
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:92)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
        at 
java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
Caused by: javax.mail.MessagingException: Unable to load BODYSTRUCTURE
        at 
com.sun.mail.imap.IMAPMessage.loadBODYSTRUCTURE(IMAPMessage.java:1319)
        at com.sun.mail.imap.IMAPMessage.getDataHandler(IMAPMessage.java:623)
        at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1420)
        at 
org.apache.camel.component.mail.MailBinding.extractAttachmentsFromMail(MailBinding.java:291)
        at 
org.apache.camel.component.mail.MailMessage.populateInitialAttachments(MailMessage.java:121)
        ... 29 more

The bodystructure of the message is (strings lightly edited):
A1360 FETCH 1480 (BODYSTRUCTURE)
* 1480 FETCH (BODYSTRUCTURE ((("text" "plain" ("charset" "iso-8859-1") NIL NIL 
"quoted-printable" 4137 132 NIL NIL NIL NIL)("text" "html" ("charset" 
"iso-8859-1") NIL NIL "quoted-printable" 13030 277 NIL NIL NIL NIL) 
"alternative" ("boundary" 
"_000_241616E998699141B69B9BF77D41B532039D56447310ZVSRVEX02ze_") NIL 
NIL)("message" "rfc822" NIL NIL NIL "7BIT" 587920 ("Fri, 20 Mar 2009 11:24:14 
+0100" " Tagung vom 22.-24.12.09" (("Frau Jedermann" NIL "frau.jedermann" 
"my.comany.de")) NIL NIL (("Verwaltungsleiter " NIL "verwaltungsleiter " 
"comany.de") ("hauptabteilungsleiter-verteiler" NIL 
"hauptabteilungsleiter-verteiler" "my.comany.de") ("abteilungsleiter-verteiler" 
NIL "abteilungsleiter-verteiler" "my.comany.de")) NIL NIL NIL 
"<[email protected]>") 
("multipart" "signed" ("protocol" "application/x-pkcs7-signature" "micalg" 
"SHA1" "boundary" "----=_NextPart_000_009C_01C9B782.AC445280") NIL NIL "7BIT" 
-1 NIL NIL NIL NIL) 7623 NIL NIL NIL NIL) "mixed" ("boundary" 
"_004_241616E998699141B69B9BF77D41B532039D56447310ZVSRVEX02ze_") NIL "de-DE"))
A1360 OK FETCH completed.

I think, the problem is the signature of the attachment (see 
https://java.net/projects/javamail/pages/Exchange).

How can I deal with this error? 
For example by asking the imap-component to store the attachments unchanged 
(like the option mapMailMessage=false does with the mail-body).

Kind regards,
Stefan Hof


Reply via email to