随机错误javax.activation.UnsupportedDataTypeException:没有对象DCH的MIME类型multipart / mixed

问题描述 投票:0回答:2

当java代码发送邮件时,我在Struts2中的Web应用程序出现随机错误:

javax.mail.MessagingException: IOException while sending message;
  nested exception is:
    javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; 
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1290)
    at javax.mail.Transport.send0(Transport.java:255)
    at javax.mail.Transport.send(Transport.java:124)

我在WILDFLY 10(Jdk 1.8)中部署了文件战,在文件夹WEB-INF / lib中部署了这些库:activation-1.1.jar和mail-1.4.jar。

有时发送电子邮件但随机我看到上面的错误。所有电子邮件都没有附件,代码始终相同。

我疯了,我在测试环境中进行电子邮件测试,它始终有效。

我在Wildfly中检查了文件夹“modules / system / layers / base / javax / mail / api / main”,并在“/ modules / system / layers / base / javax / activation”中创建了“javax.mail-1.5.5.jar” / api / main“有”activation-1.1.1.jar“

任何的想法?非常感谢

java wildfly-10
2个回答
0
投票

在代码中发送邮件之前添加此部分代码:

Thread.currentThread().setContextClassLoader( getClass().getClassLoader() );

0
投票

我在使用此代码发送电子邮件之前创建了解

MailcapCommandMap mc = (MailcapCommandMap) CommandMap.getDefaultCommandMap(); 
                mc.addMailcap("text/html;; x-java-content-handler=com.sun.mail.handlers.text_html"); 
                mc.addMailcap("text/xml;; x-java-content-handler=com.sun.mail.handlers.text_xml"); 
                mc.addMailcap("text/plain;; x-java-content-handler=com.sun.mail.handlers.text_plain"); 
                mc.addMailcap("multipart/*;; x-java-content-handler=com.sun.mail.handlers.multipart_mixed"); 
                mc.addMailcap("message/rfc822;; x-java-content- handler=com.sun.mail.handlers.message_rfc822");
                CommandMap.setDefaultCommandMap(mc);

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.