Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/383.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
Java Jave:pdf附件电子邮件:无MIME类型应用程序的对象DCH/pdf_Java_Email - Fatal编程技术网

Java Jave:pdf附件电子邮件:无MIME类型应用程序的对象DCH/pdf

Java Jave:pdf附件电子邮件:无MIME类型应用程序的对象DCH/pdf,java,email,Java,Email,我想用javax邮件在电子邮件中发送pdf文件。 下面,baos是一个ByteArrayOutputStream byte [] data= baos.toByteArray(); OutputStream output = new FileOutputStream(fileName); output.write(data); output.close(); DataSource source = new FileDataSource(fileName); attachBodyP

我想用javax邮件在电子邮件中发送pdf文件。
下面,baos是一个ByteArrayOutputStream

byte []  data=   baos.toByteArray();
OutputStream output = new FileOutputStream(fileName);
output.write(data);     
output.close();
DataSource source = new FileDataSource(fileName);
attachBodyPart.setDataHandler(new DataHandler(source, "application/pdf"));
attachBodyPart.setFileName(fileName);
multipart.addBodyPart(attachBodyPart);
message.setContent(multipart, "text/html");
Transport transport = session.getTransport("smtp");
transport.connect(host, from, pass);
transport.sendMessage(message, message.getAllRecipients());
transport.close();
我尝试发送电子邮件时遇到此异常:

javax.mail.MessagineException:发送消息时发生IOException
嵌套异常为:javax.activation.UnsupportedDataTypeException: MIME类型应用程序没有对象DCH/pdf

我不知道这里出了什么问题。
如果有人这样做


提前感谢。

每次这样做时,我都直接使用字节数组,而不使用文件:

byte []  data =   baos.toByteArray();
MimeBodyPart attachBodyPart = new MimeBodyPart();
attachBodyPart.setFileName(fileName);
attachBodyPart.setDisposition(MimeBodyPart.ATTACHMENT);
attachBodyPart.setContent(data, "application/pdf");

multipart.addBodyPart(attachBodyPart);
试试这个

MimeBodyPart attachment = new MimeBodyPart();
DataSource dataSrc = new ByteArrayDataSource(baos.toByteArray(), "application/pdf");
attachment.setDataHandler(new DataHandler(dataSrc));
attachment.setFileName("myPdfDocument.pdf");
multipart.addBodyPart(attachment);

检查此链接。我希望它能帮助你