http://www.perlmonks.org?node_id=486280


in reply to email for both plain text and html

What you want is multipart mime email. If their mail reader supports the mime standards, it will display the text only part if they want text, and the html part if their reader is html capable. (This is normally a big if, but it seems to be well supported in practice. And it looks all pretty in Outlook to pass the Business Unit test.)

It's something like (from one of our templates):

To: !!email!! cc: !!cc!! From: W3 Data <support@w3data.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="_jkkdsffds32432dlkjifew +ks_" Subject: BatchAppend411 Job Confirmation --_jkkdsffds32432dlkjifewks_ Content-Type: text/plain; charset="iso-8859-1" ... Text email content ... --_jkkdsffds32432dlkjifewks_ Content-Type: text/html; charset="iso-8859-1" <html> <body> ... more html content
The 'boundary' is just an arbitrary string that won't appear in the email.

-- Kirby, WhitePages.com