Starting Outlook and having an email pre-populated from command line

skb picture skb · Oct 29, 2008 · Viewed 36.8k times · Source

Is this possible? I want to have the To:, Body, and an Attachment all pre-populated so all the user has to do is click send. Thanks!

Answer

VonC picture VonC · Oct 29, 2008

Open a new mail message (ipm.note is the message class for emails)

outlook.exe /c ipm.note

Open a new mail message and populate sender:

outlook.exe /c ipm.note /m [email protected]

Open a new mail message with attachment:

 outlook.exe /c ipm.note /a filename

Combination: (First one below didn't work in Office 2016, second did)

 outlook.exe /c ipm.note /m [email protected]&subject=test%20subject&body=test%20body
 outlook.exe /c ipm.note /m "[email protected]&subject=test%20subject&body=test%20body"

The %20 has to be used to produce a blank space.

This works for instance with a classic Outlook 2016 (build 16.0.4849.1000).

But, as Snozzlebert notes in the comments, for a Outlook 365 Version 2001 (Build 12430.20184) the syntax would be:

outlook.exe /c ipm.note /m "[email protected]?subject=test"

the culprit was the & after the email-address - replacing it with ? solved the problem.
It seems that Microsoft changed the syntax to the HTML mailto syntax.