【问题标题】:Creating an email in Java在 Java 中创建电子邮件
【发布时间】:2014-09-05 06:56:45
【问题描述】:

我想使用 Java “创建”一封电子邮件。

这就是我的意思:

根据我已有的信息,我想在 Microsoft Outlook 中打开一封电子邮件,其中已填充了收件人、抄送、主题、邮件正文和附件字段(现在都存储为字符串,附件的目录是也存储为字符串)。

邮件需要在 Outlook 中打开,以便用户验证内容,并有机会添加更多抄送,对主题和邮件正文进行微调。

据我所知,实现这一目标的“最佳”方法似乎是首先在磁盘上创建一个 Outlook 可以读取的文件,其中包含我的消息,然后使用类似于下面的代码的东西用 Outlook 打开它。

Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("OUTLOOK Directory + CMD switches for opening files");
    1234563
  1. 如果没有实现上述目标的“好”方法,我会选择将附件文件附加到给定 Outlook 模板 (.oft) 文件的方法。

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

我已经查看了 Apache POI 中的 HSMF(我的程序的其他部分是 Apache POI),但目前它似乎还处于试验阶段,而且我一直无法找到很多关于它的文档。

有人对去哪里有什么建议吗?

【问题讨论】:

  • Java Mail API 可能是一个很好的起点。看看java.net/projects/javamail/pages/Home
  • +1 用于 JavaMail。组装一个 MimeMessage,然后使用 writeTo(OutputStream) 方法将其写入 *.eml(或 *.msg)文件。
  • 谢谢,我查看了 Javamail,但在几个小时没有找到创建有效解决方案的方法后,我只是决定我的选项 3. 就足够了。

标签: java email outlook


【解决方案1】:

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 上,“开始”命令还可以理解 RFC 2368 中解释的语法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2013-06-16
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 2010-11-20
    相关资源
    最近更新 更多