javax.activation.UnsupportedDataTypeException:尝试发送电子邮件时,MIME类型image/png没有对象DCH
我将我的项目从Java8更新到了Java14。我还更新了项目pom.xml中的一系列依赖项。现在,每当我试图通过应用程序发送电子邮件时,我都会遇到问题。我在网上找到了很多不同的解决方案,但没有一个对我有效。以下是错误日志: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
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”,即“”);
多部件。添加车身部件(部件);