当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“
任何的想法?非常感谢
在代码中发送邮件之前添加此部分代码:
Thread.currentThread().setContextClassLoader( getClass().getClassLoader() );
我在使用此代码发送电子邮件之前创建了解
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);
谢谢