【问题标题】:Sending pdf attachments in Mule errors "no object DCH for MIME type"在 Mule 错误“没有 MIME 类型的对象 DCH”中发送 pdf 附件
【发布时间】:2016-01-11 21:04:57
【问题描述】:

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

问题:发送带有 PDF 附件的 SMTP 电子邮件失败并出现错误:

javax.activation.UnsupportedDataTypeException: no object DCH for MIME type application/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 可以正常工作。

阅读SO-Mule no object DCH for MIME type application/pdf后,我尝试升级到javax.mail.jar 1.5.4,但问题仍然存在。

【问题讨论】:

  • 您尝试过here的任何解决方案吗?
  • @jmehrens 谢谢 - 我试过了,但没有运气。我已经使用他们的 Java API 库切换到 AWS 的 SES - 就像一个魅力。
  • 很高兴听到。我在想用于调试激活的JavaMail FAQ 可以帮助解决问题。

标签: mule jakarta-mail


【解决方案1】:

几天前我遇到了同样的问题,但使用的是文本/日历和纯 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");

我希望这也适合你的情况。

【讨论】:

    猜你喜欢
    • 2013-08-08
    • 2015-01-06
    • 2016-02-29
    • 2014-10-16
    • 2014-03-18
    • 1970-01-01
    • 2019-07-21
    • 2020-06-11
    • 2021-12-17
    相关资源
    最近更新 更多