gpt4 book ai didi

JavaMail 使用来自 sun 内部 "saaj"包的 MimeMultipart

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:20 24 4
gpt4 key购买 nike

我使用 Spring Boot 和 Apache Camel 作为读取电子邮件、提取附件并处理它的后台进程。

在第一个版本中,这工作得很好。第二个版本添加了包括发送附件在内的网络服务。现在,电子邮件附件提取有时有效,有时则无效。来自 Camel 邮件绑定(bind)类的调试消息是:

No attachments to extract as content is not Multipart: com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeMultipart

我怀疑 saaj MimeMultipart 类用于 Web 服务 + 附件,但我们不知道为什么 JavaMail 选择此类而不是 javax.mail.internet.MimeMultipart?

有什么想法吗?我们怎样才能防止这种情况发生?

这是上述日志行的上下文:

o.a.camel.component.mail.MailConsumer    : Fetching 1 messages. Total 1 messages.
o.a.camel.component.mail.MailConsumer : Mail #0 is of type: com.sun.mail.imap.IMAPMessage - com.sun.mail.imap.IMAPMessage@28091f09
o.a.camel.component.mail.MailConsumer : Mapping #0 from javax.mail.Message to Camel MailMessage
o.a.camel.component.mail.MailBinding : Extracting attachments +++ start +++
o.a.camel.component.mail.MailBinding : No attachments to extract as content is not Multipart: com.sun.xml.internal.messaging.saaj.packaging.mime.internet.MimeMultipart
o.a.camel.component.mail.MailBinding : Extracting attachments +++ done +++

最佳答案

这是一个 JRE 错误:JDK-8043129 : JAF initialisation in SAAJ clashing with the one in javax.mail它说

After initialisation of SAAJ components the JAF handlers defined defined by javax.mail don't work.

它解释了第一封邮件的成功处理(在处理管道中进一步使用 Web 服务)和后续邮件的附件处理失败。

解决方案很简单:这个错误已在 Java 7 Update 76 和 Java 8 Update 20 中修复。

这个问题再次凸显了在开发和生产环境中保持相同软件版本的重要性。

关于JavaMail 使用来自 sun 内部 "saaj"包的 MimeMultipart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34136896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com