The only way to guarantee everything in the message will be treated as being in the body of the message is to put everything in the first (or only) part of the message.
When mixing plain text with HTML, you can surround the plain test with <tt> ... </tt> tags. Or you can use a text-to-html filter to reformat your text into html.
If your message's main body is in html, you can "embed" attachments in the main body and they will be displayed as part of the main body. This is done using the <embed> or <object> tags to refer to the individual attachments. The are not actually embedded in the main body, merely "included by reference". But this is still relying on HTML tricks. The reason for doing this would be so the "extra" content you are including in the body is also available for individually saving without duplicating the content in the body and as attachments.