You are missing 2 things: First, the MIME headers need to be a part of the email message headers. The email message headers are separated from the email message body by a blank line. If you copy and paste your MIME and HTML into the body of your message, then it will be after that blank line and all of it will be considered part of the body and treated as plain text. In general, most email clients do not give you direct access to header information to control MIME headers. Second, in the example you gave, there are some missing MIME parts, specifically, boundary= in the Content-Type: header, the blank line above <html> separating headers from body, and the boundary marker. These are automatically generated by the mail client when a MIME/HTML message is composed if the mail client can compose a message in HTML format. Below is one example among many possibilities. Date: From: Subject: To: MIME-Version: 1.0 Content-Type: text/html; charset=us-ascii; boundary="boundarymarkerstring" Content-Transfer-Encoding: 7bit Content-Disposition: inline <html> <head> ... </html> --boundarymarkerstring-- So the non-technical answer is to have the mail client format the message as an HTML message if it has that option.