Java:使用getDesktop()。mail(URI)添加到邮件客户端的附件

时间:2012-10-29 06:45:57

标签: java email-attachments

在Java中,如何启动邮件客户端以及给定文件作为其附件 - 特别是使用方法Desktop.getDesktop().mail(URI)

我正在使用Windows 7并希望启动MS Outlook。

2 个答案:

答案 0 :(得分:2)

这是一个很好的问题。

实际上,作为方法URI的参数发送的desktop.mail(URI)允许设置为,cc,bcc,subject,body,并且不允许设置附件。 (见http://www.ietf.org/rfc/rfc2368.txt

然而,附件实际上是特定格式的电子邮件正文片段。请阅读此内容以获取更多详细信息:http://techhelp.santovec.us/decode.htm。 这意味着您可以使用Base64对二进制附件进行编码,并创建已包含任何通用文件附件的电子邮件正文。我个人没有试过这个,但我相信它一定有用。祝你好运。

答案 1 :(得分:0)

据我所知,不幸的是,使用Desktop.mail(URI)指定任何附件是不可能的。 我试过AlexR的建议。如果文件太大,则由于URI中字符数的限制而无法使用。

但是,仍然可以使用JMAPI,但它仅适用于x86平台。

使其工作的最终方法是使用JavaMail API,但它会强制您创建自己的GUI并设置SMTP服务器配置..这对用户不太友好。

如果有人提出其他建议,我很高兴认识他们。