如何在 Java 中将附件添加到 mailto

How to add an attachment to mailto in Java

我正在创建一个文本编辑器,我想添加一个允许您通过电子邮件发送文档的共享功能。我需要一些帮助来找到一种将 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();
        }

        }
    });

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

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

这是 JavaMail API 和 Attachments 的示例。

这个页面比较全面working examples

您正在尝试使用桌面 class 来启动用户首选的邮件客户端,以便他们可以发送电子邮件,但您想要附加一个文件。 mailto: link 可能包括 body 的(开头)和电子邮件 headers 包括 toccsubject 和其他...

不幸的是,mailto: URL 类型 支持附件。附件不是 headers 也不是 body 的一部分;它们是 multi-part mime 消息的独立部分

Desktop class javadoc 提到了一些可用于 mail(URI) 的字段,但没有提到对附件的支持。

我理解使用用户的 already-configured 邮件客户端的愿望,但要发送附件,您必须自己处理邮件并从 Parts[=15= 构建消息]