创建包含收件人,主题,正文和附件的电子邮件

时间:2018-12-03 22:02:12

标签: java email outlook uri processbuilder

我一直在研究电子邮件生成程序,并且能够使用以下电子邮件生成带有附件的电子邮件

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电子邮件的方法。如果可以通过某种方式将它们结合在一起以创建带有附件的电子邮件,并填充主题和正文,那么我想知道该怎么做。

2 个答案:

答案 0 :(得分: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进行编码。

答案 1 :(得分:0)

您可以使用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