Make Powershell V2从mailto链接

时间:2015-11-16 13:25:27

标签: email powershell mailto

我正在尝试让Powershell V2脚本在默认邮件应用中打开一个新的邮件消息窗口,其中预先填写了To,CC,Subject和Body字段。在批处理脚本中我只使用mailto函数,效果很好。但是,我无法在Powershell中完成这项工作,而Send-MailMessage cmdlet正在询问用户可能不会拥有的信息。

该脚本将由多个用户使用,因此我无法将发件人/服务器信息硬编码到脚本中;此外,用户还需要能够在电子邮件发送之前对其进行更改。

是否有一个cmdlet允许我只填写我之前提到的四个字段,在默认邮件应用程序中打开(但是它已在系统中设置),并允许用户在发送之前对邮件进行更改?

我一直在寻找一个月的答案,但至今没有成功。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

如果您向mailto:提供Start-Process方案的URI,Windows将自动找出与其关联的应用程序(无论是Outlook,Thunderbird,Windows Mail还是您想要的任何内容)并启动它:

e.g:

PS C:\> Start-Process "mailto:dhub01@domain.tld"
# Start-Process immediately returns but a new mail message is launched

就像任何其他URI一样,mailto: URI可以附加查询:

PS C:\> Start-Process "mailto:dhub01@domain.tld?Subject=This is a Subject&Cc=dhub02@domain.tld&Body=This is the contents of the message"
# The message is created with the above values in place (at least in Outlook)

答案 1 :(得分:1)

我可以确认,Mathias的语法:

PS C:\> Start-Process "mailto:dhub01@domain.tld?Subject=This is a Subject&Cc=dhub02@domain.tld&Body=This is the contents of the message"
# Start-Process immediately returns but a new mail message is launched

也适用于Thunderbird。