【问题标题】:Create email with recipient, subject, body AND attachment创建包含收件人、主题、正文和附件的电子邮件
【发布时间】:2020-10-08 13:33:35
【问题描述】:

我一直在开发一个电子邮件生成程序,我能够生成一封电子邮件,该电子邮件在生成时带有附件

ProcessBuilder p=new ProcessBuilder("C:\\Program Files (x86)\\Microsoft Office\\Office16\\OUTLOOK.EXE","/a","C:\\BackupData.docx");

或使用

填写收件人、主题和正文的生成电子邮件
URI msg = new URI("mailto", mailer+"&subject="+subject+"?body="+body, (String) null);

我的问题是我无法找到一种方法来生成具有这两种功能的 Outlook 电子邮件。如果有某种方法可以将这些结合起来创建带有附件的电子邮件,并填充主题和正文,我想知道如何做到这一点。

【问题讨论】:

标签: java email outlook uri processbuilder


【解决方案1】:
new ProcessBuilder("C:\\Program Files (x86)\\Microsoft Office\\Office16\\OUTLOOK.EXE",
    "/c", "ipm.note", // create new e-mail message
    "/m", mailer + "?subject=" + subject + "&body=" + body, // set recipient, subject and body
    "/a", "C:\\BackupData.docx"); // attach file

这将启动 Outlook,打开一封包含收件人、主题和正文的新电子邮件,并将文件添加为附件。

请注意,在字符串 subjectbody 中,字符 % " & / ? \ 必须使用 percent encoding 进行编码。

【讨论】:

    【解决方案2】:

    您可以使用desktop 类打开系统的电子邮件客户端。

    Desktop.getDesktop().mail( new URI( "mailto:address@somewhere.com" ) )
    

    根据these docs你需要的命令是

    "path/to/Outlook.exe /c ipm.note /a \"path/to/attachment\""

    组装它并通过ProcessBuilder运行它

    参考来源:

    to open outlook mail from java program and to attach file to the mail from directory

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 2017-05-17
      • 2012-11-18
      • 1970-01-01
      • 2017-12-12
      • 2013-04-27
      相关资源
      最近更新 更多