Command line 启动Outlook并从命令行预填充电子邮件

Command line 启动Outlook并从命令行预填充电子邮件,command-line,outlook,Command Line,Outlook,这可能吗?我想让to:、正文和附件都预先填充,这样用户只需单击send。谢谢 打开新邮件(ipm。注意是电子邮件的首选项) 打开新邮件并填充发件人: outlook.exe /c ipm.note /m someone@microsoft.com 打开带有附件的新邮件: outlook.exe /c ipm.note /a filename 组合:(下面第一个在Office 2016中不起作用,第二个起作用) 必须使用%20来生成空白 详情请浏览 可以找到命令行开关 例如,它适用于经典

这可能吗?我想让to:、正文和附件都预先填充,这样用户只需单击send。谢谢

打开新邮件(
ipm。注意
是电子邮件的首选项)

打开新邮件并填充发件人:

outlook.exe /c ipm.note /m someone@microsoft.com
打开带有附件的新邮件:

 outlook.exe /c ipm.note /a filename
组合:(下面第一个在Office 2016中不起作用,第二个起作用)

必须使用%20来生成空白

  • 详情请浏览
  • 可以找到命令行开关
例如,它适用于经典的Outlook 2016(build 16.0.4849.1000)

但是,如前所述,对于Outlook 365版本2001(Build 12430.20184),语法应该是:

outlook.exe /c ipm.note /m "someone@microsoft.com?subject=test"
罪魁祸首是电子邮件地址后的
&
,将其替换为
解决了问题。
看起来微软把语法改成了HTML mailto语法


VonC的解决方案是可行的,但正如skbergam的评论所述,它不允许附件

如果,像我一样,这是一个大问题,那么下面的WSH代码就是这样做的

Set olApp = CreateObject("Outlook.Application")
Set olMsg = olApp.CreateItem(0)

With olMsg
  .To = "test@testing.com"
  '.CC = "cc@testing.com"
  '.BCC = "bcc@testing.com"
  .Subject = "Subject"
  .Body = "Body"
  .Attachments.Add "C:\path\to\attachment\test.txt" 

  .Display
End With

我已经用Outlook2003尝试过了,如果您只需在命令的
/m

例如:

outlook.exe /c ipm.note /m "someone@microsoft.com&subject=test%20subject&body=test%20body" /a test.txt

整洁的微软的命令行似乎正在复兴。酷,我不知道这一点——我可能永远也不会尝试。太棒了!但它不允许您附加文件并填写电子邮件的收件人/正文。试试看。它不起作用。此外,/m参数的值应该用引号括起来。我必须这样做才能让它工作,因为显然&对shell解释器来说意味着什么。泰!你说得对。似乎命令行只能让你走到目前为止…@Snozzlebert 11年多后(在写了这个答案之后),我刚刚测试了它,Outlook 2016正在运行(build 16.0.4849.1000)。它确实有效(仍然有效)。我不知道2001版的版本。+1是的,它只是引用,不需要复杂的东西
Set olApp = CreateObject("Outlook.Application")
Set olMsg = olApp.CreateItem(0)

With olMsg
  .To = "test@testing.com"
  '.CC = "cc@testing.com"
  '.BCC = "bcc@testing.com"
  .Subject = "Subject"
  .Body = "Body"
  .Attachments.Add "C:\path\to\attachment\test.txt" 

  .Display
End With
outlook.exe /c ipm.note /m "someone@microsoft.com&subject=test%20subject&body=test%20body" /a test.txt