如何以跨平台方式打开带有主题和正文的默认邮件程序?


问题内容

如何以跨平台方式打开带有主题和正文的默认邮件程序?

不幸的是,这是针对用Java编写的客户端应用程序,而不是网站。

我希望它可以跨平台的方式工作(这意味着Windows和Mac,对不起Linux)。我很高兴在Windows中执行VBScript,在OS
X中执行AppleScript。但是我不知道这些脚本应该包含什么。我想执行用户的默认程序,而不是仅搜索Outlook或其他内容。

在OS X中,我尝试执行以下命令:

open mailto:?subject=MySubject&body=TheBody

需要使用网址转义符将替换为%20

已更新 在Windows上,您必须玩各种游戏才能start正确运行。这是正确的Java咒语:

class Win32 extends OS {
    public void email(String subject, String body) throws Exception {
        String cmd = "cmd.exe /c start \"\" \"" + formatMailto(subject, body) + "\"";
        Runtime.getRuntime().exec(cmd);
    }
}

问题答案:

在Java 1.6中,您有一种标准的方法可以打开平台的默认邮件程序:
Desktop.mail(URI)方法。URI可用于设置邮件的所有字段(发件人,收件人,正文,主题)。您可以在Java
SE
6中使用桌面API
查看
Java
1.6中桌面集成的完整示例。