I\'m setting the body of an email using values from a form
firstname = bob
lastname = dole
ebody = \'First Name: \' + firstname + \'\\r\\n\' + \'Last
RFC 2368 says that mailto body content must be URL-encoded, using the %-escaped form for characters that would normally be encoded in a URL. Those characters includes spaces and (as called out explicitly in section 5 of 2368) CR and LF.
You could do this by writing
ebody = 'First%20Name:%20' + firstname + '%0D%0A' + 'Last%20Name:%20' + lastname;
but it's easier and better to have JavaScript do the escaping for you, like this:
ebody = 'First Name: ' + firstname + '\r\n' + 'Last Name: ' + lastname;
ebody = encodeURIComponent(ebody);
Not only will that save you from having to identify and look up the hex values of characters that need to be encoded in your fixed text, it will also encode any goofy characters in the firstname and lastname variables.