【问题标题】:How to use the default email client to send an email with an attachment from Java?如何使用默认电子邮件客户端从 Java 发送带有附件的电子邮件?
【发布时间】:2011-03-29 03:58:42
【问题描述】:

我有一个生成 PDF 文件的 Java 程序。我希望用户单击一个按钮来打开默认电子邮件客户端,准备好将 PDF 作为附件发送。打开默认邮件客户端的两种标准方式都有问题:

  1. Java 6 似乎不允许在生成的消息中包含附件
  2. JDIC 存在阻止 Outlook 2007 正确发送邮件的错误:http://jdic.dev.java.net/issues/show_bug.cgi?id=160

谁能建议一种方法来做到这一点?

谢谢

【问题讨论】:

    标签: java email attachment


    【解决方案1】:

    JDIC 提供了一些功能来做到这一点。尽管 JDIC 的大部分内容都被 Java 6 中的java.awt.Desktop 吸收,但它不包括电子邮件组合位。不幸的是,JDIC 二进制文件与 transition of java.net to the Kenai platform 一起消失了;我将我能找到的最新版本上传到项目JIRA

    JDIC 在 OSGi 中表现不佳,因此我最近将相关的 MAPI 位提取到一个名为 jmapi 的包中。

    (我也将此答案发布到another question。)

    【讨论】:

      【解决方案2】:

      javax.mail.internet.MimeMultipart 消失了吗?这是设置附件的规范方式。

      更新

      好的,所以如果我直截了当,您想知道如何让您的应用程序在未指定的操作系统上使用未指定的电子邮件客户端来发送包含未定义附件但不是通过构造 MIME 消息的多部分 MIME 电子邮件你自己?

      ...嗯,好吧,我猜你提到了 Outlook,所以它一定是 Windows。但还是这样。

      【讨论】:

      • 这是一个 SWT 桌面应用程序,因此用户可能在桌面上有一个电子邮件客户端,并且不想配置我的应用程序来发送电子邮件。
      【解决方案3】:

      您是否有特定原因要使用默认电子邮件客户端,而不是使用电子邮件客户端 (JavaMail) 从 Java 发送?

      您能否提供更多关于您尝试编写的应用程序类型的详细信息?我认为这是一个客户端 GUI 应用程序(Swing/SWT/AWT),但除此之外,我认为我们需要更多细节。

      【讨论】:

      • 我想说该应用可以通过电子邮件导出文件,而用户希望使用他最喜欢的电子邮件客户端来执行此操作。
      猜你喜欢
      • 2010-10-23
      • 1970-01-01
      • 1970-01-01
      • 2014-07-11
      • 1970-01-01
      • 1970-01-01
      • 2014-06-02
      • 2011-07-02
      • 1970-01-01
      相关资源
      最近更新 更多