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?


    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"

      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

        Your Answer


        By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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