java - 如何在Java中向mailto添加附件

标签 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();
        }

        }
    });

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

最佳答案

您正在尝试使用 Desktop 类来启动用户的首选邮件客户端,以便他们可以发送电子邮件,但您希望已经附加了一个文件。 mailto: 链接可能包括正文(的开头)和电子邮件 headers 包括收件人抄送主题以及其他...

遗憾的是,mailto: URL 类型支持附件。附件不是标题,也不是正文的一部分;它们是多部分 mime 消息的单独部分

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

我理解用户希望使用已配置的邮件客户端,但要发送附件,您必须自己处理邮件并根据 Part 构建消息

关于java - 如何在Java中向mailto添加附件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29379810/

相关文章:

java - 在 Websocket 上通过 Nginx 转发用户 IP

java - 工作簿的 Apache POI 默认样式

java - Android:对 JSON 进行排序

java - super 构造函数调用

html - 如何制作转发电子邮件链接?

angular - 如何使用 Angular 7 发送电子邮件

email - Mandrill 和浏览器中的 View 功能

vba - Ms Access 发送带有报告的电子邮件作为附件

sql - 如何检查电子邮件附件是否已被打开

bash - 使用 uuencode 和 mailx 发送电子邮件附件