在Mule中发送pdf附件错误“没有MIME类型的对象DCH”

在Mule中发送pdf附件错误“没有MIME类型的对象DCH”,mule,jakarta-mail,Mule,Jakarta Mail,版本:Mule 3.6、JRE 7、javax.mail 1.5.4 问题:发送带有PDF附件的SMTP电子邮件失败,错误为: javax.activation.UnsupportedDataTypeException:没有MIME类型应用程序的对象DCH/pdf 发送电子邮件的代码: DataSource fileDataSource =new FileDataSource("c:\\temp\\agreement.pdf"); InputStream fi =

版本:Mule 3.6、JRE 7、javax.mail 1.5.4

问题:发送带有PDF附件的SMTP电子邮件失败,错误为:

javax.activation.UnsupportedDataTypeException:没有MIME类型应用程序的对象DCH/pdf

发送电子邮件的代码:

        DataSource fileDataSource =new FileDataSource("c:\\temp\\agreement.pdf");
        InputStream fi = fileDataSource.getInputStream();
        DataSource fileDataSource1 = new ByteArrayDataSource(fi, "application/pdf");
        msg.addOutboundAttachment("agreement.pdf", fileDataSource1, "application/pdf");
切换到发送text/plain或text/html很好


阅读后,我尝试升级到javax.mail.jar 1.5.4,但问题仍然存在。

几天前,我遇到了同样的问题,但使用文本/日历和纯java。我根据您的内容类型编辑了我的解决方案。只需将以下代码添加到您的方法中:

final MimetypesFileTypeMap mimetypes = (MimetypesFileTypeMap) MimetypesFileTypeMap.getDefaultFileTypeMap();
mimetypes.addMimeTypes("application/pdf pdf PDF");
final MailcapCommandMap mailcap = (MailcapCommandMap) MailcapCommandMap.getDefaultCommandMap();
mailcap.addMailcap("application/pdf;; x-java-content-handler=com.sun.mail.handlers.text_plain");

我希望这也适用于你的情况。

你尝试过任何解决方案吗?@jmehrens谢谢-我尝试过,但没有运气。我已经使用AWS的Java API库切换到了AWS的SES——工作起来很有魅力。很高兴听到这个消息。我在想调试激活可以帮助解决问题。