在Java中,如何启动邮件客户端以及给定文件作为其附件 - 特别是使用方法Desktop.getDesktop().mail(URI)
我正在使用Windows 7并希望启动MS Outlook。
答案 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服务器配置..这对用户不太友好。
如果有人提出其他建议,我很高兴认识他们。