I am trying to create a simple batch file to send an email. I am following steps found online and came up with a simple example like this:

START mailto:john@mail.com?cc=other@mail.com&subject=MySubject&body=MyBody

Running this does open a new email in Outlook with the proper TO and CC fields filled in, but Subject and Body are empty.

In the command window I get the following error output:

'subject' is not recognized as an internal or external command,operable program or batch file. 'body' is not recognized as aninternal or external command, operable program or batch file.

I can change the order of the arguments around, and what ever comes after the ? works, but everything after the & fails.

Any idea what is going wrong here?


share|improve this question

Double quotes.

START mailto:john@mail.com?cc=other@mail.com&subject=MySubject&body=MyBody


START mailto:"john@mail.com?cc=other@mail.com&subject=MySubject&body=MyBody"

share|improve this answer

The ampersand (&) is the character used to separate multiple statements on a single command line. START attempts (and succeeds) to run mailto:john@mail.com?cc=other@mail.com but then attempts to run "subject=MySubject" next and fails, hence the error message about subject not being recognized as a command.

I think "escaping" the ampersand with a carat will also work. For example:

START mailto:john@mail.com?cc=other@mail.com^&subject=MySubject^&body=MyBody
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.