Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.activation.UnsupportedDataTypeException:尝试发送电子邮件时,MIME类型image/png没有对象DCH_Java_Email_Java 14 - Fatal编程技术网

javax.activation.UnsupportedDataTypeException:尝试发送电子邮件时,MIME类型image/png没有对象DCH

javax.activation.UnsupportedDataTypeException:尝试发送电子邮件时,MIME类型image/png没有对象DCH,java,email,java-14,Java,Email,Java 14,我将我的项目从Java8更新到了Java14。我还更新了项目pom.xml中的一系列依赖项。现在,每当我试图通过应用程序发送电子邮件时,我都会遇到问题。我在网上找到了很多不同的解决方案,但没有一个对我有效。以下是错误日志: javax.mail.MessagingException: IOException while sending message; nested exception is: javax.activation.UnsupportedDataTypeException

我将我的项目从Java8更新到了Java14。我还更新了项目pom.xml中的一系列依赖项。现在,每当我试图通过应用程序发送电子邮件时,我都会遇到问题。我在网上找到了很多不同的解决方案,但没有一个对我有效。以下是错误日志:

javax.mail.MessagingException: IOException while sending message;
  nested exception is:
    javax.activation.UnsupportedDataTypeException: no object DCH for MIME type image/png
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1365)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:88)
    at 
    java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
    at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: javax.activation.UnsupportedDataTypeException: no object DCH for MIME type image/png
    at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:885)
    at javax.activation.DataHandler.writeTo(DataHandler.java:316)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1687)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:991)
    at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:561)
    at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:84)
    at javax.activation.ObjectDataContentHandler.writeTo(DataHandler.java:883)
    at javax.activation.DataHandler.writeTo(DataHandler.java:316)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1687)
    at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1906)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1315)
    ... 16 more
2020-09-02 17:00:03 INFO  EmailDirectSignOneTimeLogin:79 - direct sign url: http://localhost:3000/direct_sign/czDSIg3Fms
FINISHED JOB

任何帮助都将不胜感激。如果您需要更多信息,请对该问题进行评论。

这可能需要更多关于您试图做什么的信息,但我在处理同一问题时碰巧发现了这个问题,并且找到并获得了以下在Java 11中工作的代码:

            part = new MimeBodyPart();
            ByteArrayDataSource source = new ByteArrayDataSource(logoBytes, "image/png");
            DataHandler handler = new DataHandler(source);
            part.setDataHandler(handler);
            part.setHeader("Content-ID", "<Logo>");
            multipart.addBodyPart(part);
part=新的MimeBodyPart();
ByteArrayDataSource source=新的ByteArrayDataSource(logoBytes,“image/png”);
DataHandler=新的DataHandler(源);
part.setDataHandler(处理程序);
part.setHeader(“内容ID”,即“”);
多部件。添加车身部件(部件);