2015-11-16 3 views
0

Я пытаюсь получить скрипт Powershell V2, чтобы открыть новое почтовое окно в почтовом приложении по умолчанию с полями To, CC, Subject и Body, которые были предварительно заполнены. В пакетном скрипте я бы просто использовал функцию mailto, которая отлично работает. Однако я не могу выполнить эту работу в Powershell, а командлет Send-MailMessage запрашивает информацию, которую пользователь, вероятно, не будет иметь.Сделать Powershell V2 открыть новое почтовое сообщение от mailto link

Сценарий будет использоваться несколькими пользователями, поэтому я не могу указать код отправителя/сервера в скрипт; также пользователь должен иметь возможность вносить изменения в сообщение электронной почты до его отправки.

Есть ли командлет, который позволит мне заполнить только четыре поля, о которых я упоминал ранее, открыть в почтовом приложении по умолчанию (однако оно установлено в системе) и разрешить пользователю вносить изменения в сообщение перед отправкой ?

Я искал ответ на этот вопрос в течение месяца, пока не добился успеха. Будем очень благодарны любой помощи.

ответ

3

Если вы передаете URI с mailto: схемы к Start-Process, Windows будет автоматически выяснить приложение, связанное с ним (независимо от того, что Outlook, Thunderbird, Windows Mail или все, что вы фантазии) и запустить его:

например:

PS C:\> Start-Process "mailto:[email protected]" 
# Start-Process immediately returns but a new mail message is launched 

Так же, как и любой другой URI, mailto: URI может быть присоединен запрос:

PS C:\> Start-Process "mailto:[email protected]?Subject=This is a Subject&[email protected]&Body=This is the contents of the message" 
# The message is created with the above values in place (at least in Outlook) 
1

Я могу подтвердить, что синтаксис Mathias в:

PS C:\> Start-Process "mailto:[email protected]?Subject=This is a Subject&[email protected]&Body=This is the contents of the message" 
# Start-Process immediately returns but a new mail message is launched 

работает также с Thunderbird.