My multipart email script sends HTML messages just fine, but the plain text alternative doesn't not work, what may be wrong?

StackOverflow https://stackoverflow.com/questions/2629767

Question

I have a script set up to send out multipart emails; plain text and html messages. The HTML messages work just fine, but when I used an email client that only does plain text the plaint text message does not render and I get the following:

--
This message was generated automatically by Me
http://www.somewebsite.com/


$html_msg = $message_details;
$plain_text_msg = strip_tags($message_details);

$headers = <<<HEADERS
From: Me <info@somewebsite.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="==PHP-alt$mime_boundary"
HEADERS;

// Use our boundary string to create plain text and HTML versions
$message = <<<MESSAGE

--==PHP-alt$mime_boundary
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

$plain_text_msg

--
This message was generated automatically by Me
http://www.somewebsite.com/

If you did not request this message, please notify promotions@mewstavern.com

--==PHP-alt$mime_boundary
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit 
<html>
<body>
$html_msg
<p>
--<br />
This message was generated automatically as a demonstration on
<a href="http://www.somewebsite.com/">Me</a>
</p>
<p>
If you did not request this message, please notify 
<a href="mailto:info@somewebsite.com">info@somewebsite.com</a>
</p>
</body>
</html>
--==PHP-alt$mime_boundary--
MESSAGE;
Was it helpful?

Solution

The issue was white space in the heredoc syntax I'm using. It is not represented in the above example.

@qor72 thank you for your input.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top