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

Fra*_*ger 11 java windows email macos

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

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

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

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

open mailto:?subject=MySubject&body=TheBody
Run Code Online (Sandbox Code Playgroud)

需要URL转义来替换空格%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);
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 10

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