Java 骆驼邮件IMAP不跳过失败的邮件

Java 骆驼邮件IMAP不跳过失败的邮件,java,apache-camel,jakarta-mail,imap,Java,Apache Camel,Jakarta Mail,Imap,我有路由“imap://%s@%s?密码=%s&folderName=%s&unseen=true&delete=true&skipFailedMessage=true”来轮询电子邮件并跳过失败的邮件。此属性skipFailedMessage=true不受尊重,或者我不理解它的用法 我正在使用不同的占位符阅读来自5个不同邮箱的电子邮件,但当我遇到“org.apache.camel.runtimecameleexception:提取正文失败,原因是:BASE64Decoder:编码流中出错:在电子

我有路由“imap://%s@%s?密码=%s&folderName=%s&unseen=true&delete=true&skipFailedMessage=true”来轮询电子邮件并跳过失败的邮件。此属性skipFailedMessage=true不受尊重,或者我不理解它的用法

我正在使用不同的占位符阅读来自5个不同邮箱的电子邮件,但当我遇到“org.apache.camel.runtimecameleexception:提取正文失败,原因是:BASE64Decoder:编码流中出错:在电子邮件的onw上的填充字符(=)后找到有效的base64字符。如果失败的邮件被删除,我只能阅读不同邮箱中的所有其他电子邮件。请帮忙。我尝试了版本2.17.3和2.18,但两个版本的性能都相同

以下是堆栈跟踪:

org.apache.camel.runtimecameleexception:未能提取正文,原因是: base64解码器:编码流中出错:找到有效的base64字符 在填充字符(=)之后,最近的10个字符是: “xmlns:v=“u”。交换:交换[]。消息: com.sun.mail.imap。IMAPMessage@7883ab8c在 org.apache.camel.component.mail.MailBinding.extractBodyFromMail(MailBinding.java:278) 在 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.CreateChanges(mailcumer.java:354) 在 org.apache.camel.component.mail.MailConsumer.poll(mailcumer.java:128) 在 org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175) 在 org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102) 在 Executors$RunnableAdapter.call(Executors.java:511) 位于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.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在java.lang.Thread.run(Thread.java:745)处,由以下原因引起: com.sun.mail.util.DecodingException:Base64解码器:编码错误 流:在填充字符(=)后找到有效的base64字符, 最近的10个字符是:“xmlns:v=“u”at 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) sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)位于 read(StreamDecoder.java:178)位于 java.io.InputStreamReader.read(InputStreamReader.java:184)位于 com.sun.mail.handlers.text_plain.getContent(text_plain.java:98)位于 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个公共框架


错误来自JavaMail,可能是由于格式不正确的消息。通过将系统属性“mail.mime.base64.ignoreerrors”设置为
“true”
,可以告诉JavaMail忽略这些错误。错误可能来自JavaMail,原因是邮件格式不正确。通过将系统属性“mail.mime.base64.ignoreerrors”设置为
“true”
,感谢@Claus Ibsen记录此问题,您可以告诉JavaMail忽略此类错误。报告的问题已在版本中修复


我验证了它在版本2.18.1上是固定的

感谢@Claus Ibsen将这一问题记录下来。报告的问题已在版本中修复


我验证了它在版本2.18.1上是固定的

将您看到的stacktrace添加到问题中,以便人们能够更好地帮助我记录了一张记录单,以捕获邮件组件中更广泛的异常:@user2215545您是否检查了2.17.5、2.18.1、,2.19.0?将您看到的stacktrace添加到问题中,这样人们可以更好地帮助我记录一张记录单,以捕获邮件组件中更广泛的异常:@user2215545您是否检查了2.17.5、2.18.1、2.19.0?