MessaginException:MIME部分类型为;“多部分/混合”;包含类型为java.io.File的对象,而不是MimeMultipart
我正在尝试发送带有附件(pdf或doc(x))的电子邮件。这是我的方法。调用file.getFile()时,它会返回一个对象java.io.file类型MessaginException:MIME部分类型为;“多部分/混合”;包含类型为java.io.File的对象,而不是MimeMultipart,java,jakarta-mail,mime-types,Java,Jakarta Mail,Mime Types,我正在尝试发送带有附件(pdf或doc(x))的电子邮件。这是我的方法。调用file.getFile()时,它会返回一个对象java.io.file类型 public boolean sendEmail(Form form) { Thread.currentThread().setContextClassLoader(getClass().getClassLoader()); try { MimeMessage message = javaMailSender.c
public boolean sendEmail(Form form) {
Thread.currentThread().setContextClassLoader(getClass().getClassLoader());
try {
MimeMessage message = javaMailSender.createMimeMessage();
message.setContent(form.getFile(),"multipart/mixed");
javaMailSender.send(message);
} catch (MessagingException e) {
log.error(e.getMessage(), e);
}
return false;
}
这里我得到一个错误:
org.springframework.mail.MailSendException; nested exceptions (1) are:_Failed message 1: javax.mail.MessagingException: MIME part of type "multipart/mixed" contains object of type java.io.File instead of MimeMultipart [Sanitized]
at com.my.sender.Sender.sendEmail(Sender.java:37)
at com.spring.controller.SpringController.update(SpringController.java:133)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
at com.liferay.portlet.CheckboxParametersPortletFilter.doFilter(CheckboxParametersPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:68)
at com.liferay.portlet.CheckboxParametersPortletFilter.doFilter(CheckboxParametersPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:68)
at com.liferay.portlet.CheckboxParametersPortletFilter.doFilter(CheckboxParametersPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:68)
at com.liferay.portlet.CheckboxParametersPortletFilter.doFilter(CheckboxParametersPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:68)
at com.liferay.portlet.CheckboxParametersPortletFilter.doFilter(CheckboxParametersPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:68)
at com.liferay.portlet.CheckboxParametersPortletFilter.doFilter(CheckboxParametersPortletFilter.java:57)
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:68)
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:105)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at com.liferay.portal.osgi.web.wab.extender.internal.adapter.ServletExceptionAdapter.service(ServletExceptionAdapter.java:68)
at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
如何修复它?JavaMail常见问题解答描述了,这是一个完整的示例。JavaMail常见问题解答描述了,这是一个完整的示例