用Java创建电子邮件

时间:2014-07-15 07:16:27

标签: java email outlook

我想"创建"使用Java的电子邮件。

这就是我的意思:

根据我已有的信息,我想在Microsoft Outlook中打开一封电子邮件,其中已填充字段To,CC,Subject,Message Body和附件(现在都存储为字符串,附件的目录是也存储为字符串)。

该消息需要在Outlook中打开,以便用户验证内容并提供添加更多CC的机会,对主题和消息正文稍作调整。

从我收集的内容来看,似乎最好的"实现这一目标的方法是首先在磁盘上创建一个Outlook可以读取的文件,其中包含我的消息,然后使用类似于下面代码的东西打开它。

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("OUTLOOK Directory + CMD switches for opening files");
  1. 理想情况下,我想使用一个简单的框架来简单地创建这样一个文件,使用我已经拥有的不同字段的字符串(或通过一个非简单的框架实现相同的东西)。

  2. 如果没有"好"实现上述目标的方法是,我决定将附件文件附加到给定的Outlook模板(.oft)文件中。

  3. (3.我将采用我当前的解决方案,只需在Outlook中打开模板,在资源管理器中打开附件,并提示用户将文件拖到Outlook中。)

    我已经看过Apache POI中的HSMF(对于我的程序的其他部分我是Apache POI),但此时它似乎是相当实验性的,而且我已经无法找到很多文档。

    有没有人对哪里有什么建议?

1 个答案:

答案 0 :(得分:0)

Desktop API与引用合法字符的URI构造函数一起使用。此示例代码将打开您的默认邮件客户端,并填充标题。

public static void main(String[] args) throws Exception {
    URI msg = new URI("mailto", "you@foo.com&cc=team@bar.com&subject=How to create email in Java?body=Use JavaMail.", (String) null);
    Desktop.getDesktop().mail(msg);
}

唯一的限制是O / S可以处理的URI长度为upper limit。在Windows上,'start'命令也理解RFC 2368中解释的语法。