2016-11-25 103 views
-1

我的路線 「IMAP://%S @%的密碼=%s的& FOLDERNAME =%s的&看不見=真&刪除= TRUE & skipFailedMessage =真」輪詢電子郵件並跳過失敗的電子郵件。此屬性skipFailedMessage = true未被尊重,或者我很想理解它的使用。駱駝郵箱IMAP不能跳過失敗的信息

我正在閱讀來自5個不同佔位符的不同郵箱的電子郵件,但沒有電子郵件時遇到「org.apache.camel.RuntimeCamelException:由於以下原因而無法提取正文:BASE64Decoder:編碼流中的錯誤:找到有效的base64字符在填充字符(=)之後「。如果失敗的消息被刪除,我只能閱讀不同郵箱上的所有其他郵件。請幫忙。我試過版本2.17.3和2.18,兩者的行爲都是一樣的。

這裏是堆棧跟蹤:

org.apache.camel.RuntimeCamelException:無法提取體由於: BASE64Decoder:在編碼流錯誤:發現有效的base64字符 一個填充字符後(= ),最近的10個字符是: 「xmlns:v =」u「。Exchange:Exchange []。消息: [email protected] org.apache.camel.component.mail .MailBinding.extractBodyFromMail(MailBinding.java:278) at org.apache.camel.component.mail.MailMessage.createBody(MailMessage的.java:105) 在 org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:47) 在 org.apache.camel.component.mail.MailConsumer.createExchanges(MailConsumer.java:354) 在 org.apache.camel.component.mail.MailConsumer.poll(MailConsumer.java:128) 在 org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175) 在 org.apache。 (java.util.concurrent.FutureTask.runAndReset(FutureTask.java))。 :308) 在 java.util.concurrent.ScheduledThreadPoolExecutor中的$ ScheduledFutureTask.access $ 301(ScheduledThreadPoolExecutor.java:180) 在 java.util.concurrent.ScheduledThreadPoolExecutor中的$ ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) 在 java.util中。併發.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)引發通過: com.sun.mail.util.DecodingException:BASE64Decoder:編碼錯誤 流:在填充字符後發現有效的base64字符(=), 最近的10個字符是:「xmln S:V = 「U」 在 com.sun.mail.util.BASE64DecoderStream.decode(BASE64DecoderStream.java:309) 在 com.sun.mail.util.BASE64DecoderStream.read(BASE64DecoderStream.java:144) 在sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)at sun.nio.cs.StreamDecoder.read(StreamDecoder.java: 178)at java.io.InputStreamReader.read(InputStreamReader.java:184)at com.sun.mail.handlers.text_plain.getContent(text_plain。的java:98)在 javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:795) 在javax.activation.DataHandler.getContent(DataHandler.java:542)在 javax.mail.internet.MimeMessage.getContent(的MimeMessage。的java:1454)在 org.apache.camel.component.mail.MailBinding.extractBodyFromMail(MailBinding.java:250) ... 13個共同幀省略

+0

將您看到的堆棧跟蹤添加到問題中,以便人們可以更好地幫助 –

+2

我登錄了一張票以捕獲郵件組件中的更多例外:https://issues.apache.org/jira/browse/CAMEL-10527 –

+0

@ user2215545你檢查過2.17.5,2.18.1,2.19.0嗎? – rjdkolb

回答

1

該錯誤是從JavaMail的到來,可能是由於格式錯誤的消息。您可以通過將系統屬性"mail.mime.base64.ignoreerrors"設置爲"true"來告訴JavaMail忽略此類錯誤。