如何在Java中添加mailto的附件

时间:2015-03-31 22:39:04

标签: java email attachment mailto

我正在创建一个文本编辑器,我想添加一个共享功能,允许您通过电子邮件发送文档。我需要一些帮助来找到一种方法来使用带有变量的mailto。我使用字符串" saveName"作为要发送的文件的路径。这就是我现在所拥有的:

share.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {

        Desktop desktop = Desktop.getDesktop();
        String mailData = "mailto:?subject=Document&attachment=" + saveName;
        System.out.println(mailData);
        try {
            desktop.mail(new URI(mailData));
        } catch (IOException e1) {
            e1.printStackTrace();
        } catch (URISyntaxException e1) {
            e1.printStackTrace();
        }

        }
    });

有人可以说明如何做到这一点吗?感谢帮助,谢谢。

2 个答案:

答案 0 :(得分:1)

您应该使用JavaMail API。它允许您连接到服务器以及发送和接收邮件。

以下是带有Attachments的JavaMail API示例。

此页面更全面working examples

答案 1 :(得分:1)

您正在尝试使用Desktop类启动用户的首选邮件客户端,以便他们可以发送电子邮件,但您希望已经附加了文件。 mailto:链接可能包含(开头)正文,并通过电子邮件发送headers 包括 cc 主题等......

不幸的是,mailto:网址类型 支持附件。附件不是标题,也不是正文的一部分;它们是多部分mime消息的独立部分

Desktop class javadoc提及mail(URI)可用的一些字段,但未提及对附件的支持。

我理解使用用户已经配置的邮件客户端的愿望,但要发送附件,您必须自己处理邮件并从Part构建邮件