如何在 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
包括 to、cc、subject 和其他...
不幸的是,mailto:
URL 类型 不 支持附件。附件不是 headers 也不是 body 的一部分;它们是 multi-part mime 消息的独立部分
Desktop class javadoc 提到了一些可用于 mail(URI)
的字段,但没有提到对附件的支持。
我理解使用用户的 already-configured 邮件客户端的愿望,但要发送附件,您必须自己处理邮件并从 Parts[=15= 构建消息]
我正在创建一个文本编辑器,我想添加一个允许您通过电子邮件发送文档的共享功能。我需要一些帮助来找到一种将 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 包括 to、cc、subject 和其他...
不幸的是,mailto:
URL 类型 不 支持附件。附件不是 headers 也不是 body 的一部分;它们是 multi-part mime 消息的独立部分
Desktop class javadoc 提到了一些可用于 mail(URI)
的字段,但没有提到对附件的支持。
我理解使用用户的 already-configured 邮件客户端的愿望,但要发送附件,您必须自己处理邮件并从 Parts[=15= 构建消息]