在 Java 中,如何启动邮件客户端以及给定文件作为附件 - 特别是使用方法Desktop.getDesktop().mail(URI)
我正在使用 Windows 7 并想启动 MS Outlook。
在 Java 中,如何启动邮件客户端以及给定文件作为附件 - 特别是使用方法Desktop.getDesktop().mail(URI)
我正在使用 Windows 7 并想启动 MS Outlook。
这是一个很好的问题。
实际上URI
,作为参数发送到方法的那个desktop.mail(URI)
允许设置为,抄送,密件抄送,主题,正文,并且不允许设置附件。(见http://www.ietf.org/rfc/rfc2368.txt)
然而,附件实际上是电子邮件正文的特殊格式片段。请阅读此内容以获取更多详细信息: http: //techhelp.santovec.us/decode.htm。这意味着您可以使用 Base64 对二进制附件进行编码,并创建已包含任何通用文件附件的电子邮件正文。我个人没有尝试过,但我相信它必须有效。祝你好运。
据我所知,很遗憾无法使用Desktop.mail(URI)
. 我已经尝试过 AlexR 的建议。如果文件太大,由于URI中字符数的限制,它不起作用。
但是,仍然可以使用JMAPI,尽管它仅适用于 x86 平台。
使其工作的最终方法是使用JavaMail API,但它会强制您创建自己的 GUI 并设置 SMTP 服务器配置。这对用户不太友好。
如果有人有其他建议,我很高兴知道他们。