2

I'm using the php script found here:

http://css-tricks.com/2866-sending-nice-html-email-with-php/

I've uploaded it to my server - and it refuses to send emails correctly!

This is what I receive in Gmail: (displays as raw html)

Content-Type: text/html; charset=ISO-8859-1
<html>
    <body>
        <img src="http://css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />
        <table rules="all" style="border-color: #666;" cellpadding="10">
            <tr style='background: #eee;'>
                <td><strong>Name:</strong> </td>
                <td>sd</td>
            </tr>
            <tr>
                <td><strong>Email:</strong> </td>
                <td>[email protected]</td>
            </tr>
            <tr>
                <td><strong>Type of Change:</strong> </td>
                <td>Change to Existing Content</td>
            </tr>
            <tr>
                <td><strong>Urgency:</strong> </td>
                <td>Super Wicked Urgent</td>
            </tr>
            <tr>
                <td><strong>URL To Change (main):</strong> </td>
                <td>http://css-tricks.com/2866-sending-nice-html-email-with-php/</td>
            </tr>
            <tr>
                <td><strong>CURRENT Content:</strong></td>
                <td>fdasgdsfg</td>
            </tr>
            <tr>
                <td><strong>NEW Content:</strong> </td>
                <td>sdfgsdgf</td>
            </tr>
        </table>
    </body>
</html>

Is there any server settings that I may have to change???

I've also used some wordpress plugins on this server that seem to have the same issue.

Any ideas would be great.

UPDATE:

** UPDATE **

Here's what i get in Gmail when i click "Show Original"

Delivered-To: [removed-intentionally]@gmail.com
Received: by 10.204.157.136 with SMTP id b8cs43947bkx;
    Sun, 14 Aug 2011 22:29:40 -0700 (PDT)
Received: from mr.google.com ([10.236.77.232])
    by 10.236.77.232 with SMTP id d68mr14702149yhe.74.1313386180151 (num_hops = 1);
    Sun, 14 Aug 2011 22:29:40 -0700 (PDT)
Received: by 10.236.77.232 with SMTP id d68mr11051146yhe.74.1313386179570;
    Sun, 14 Aug 2011 22:29:39 -0700 (PDT)
Return-Path: <[email protected]>
Received: from ironport1-mx.cbr1.mail-filtering.com.au (ironport1-mx.cbr1.mail-filtering.com.au [203.88.115.241])
    by mx.google.com with ESMTP id g70si16130380yhe.152.2011.08.14.22.29.38;
    Sun, 14 Aug 2011 22:29:39 -0700 (PDT)
Received-SPF: neutral (google.com: 203.88.115.241 is neither permitted nor denied by best guess record for domain of [email protected]) client-ip=203.88.115.241;
Authentication-Results: mx.google.com; spf=neutral (google.com: 203.88.115.241 is neither permitted nor denied by best guess record for domain of [email protected]) [email protected]
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AqoHAHOuSE5xFATR/2dsb2JhbABBmHOPCHeEEYd0lCyfAIZHBKQJ
X-IronPort-AV: E=Sophos;i="4.67,372,1309701600"; 
d="scan'208,217";a="465774510"
Received: from ub002lps00.cbr.the-server.net.au ([113.20.4.209])
by ironport1-mta.cbr1.mail-filtering.com.au with ESMTP; 15 Aug 2011 15:29:03 +1000
Received: (qmail 14705 invoked by uid 10317); 15 Aug 2011 07:29:02 +0200
Date: 15 Aug 2011 07:29:02 +0200
Message-ID: <[email protected]>
To: [removed-intentionally]@gmail.com
Subject: Website Change Reqest
From: [removed-intentionally]@gmail.com
Reply-To: [removed-intentionally]@gmail.com
MIME-Version: 1.0

Content-Type: text/html; charset=ISO-8859-1

<html><body><img src="http://css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" /><table rules="all" style="border-color: #666;" cellpadding="10"><tr style='background: #eee;'><td><strong>Name:</strong> </td><td>sd</td></tr><tr><td><strong>Email:</strong> </td><td>[removed-intentionally]@gmail.com</td></tr><tr><td><strong>Type of Change:</strong> </td><td>Change to Existing Content</td></tr><tr><td><strong>Urgency:</strong> </td><td>Super Wicked Urgent</td></tr><tr><td><strong>URL To Change (main):</strong> </td><td>http://css-tricks.com/2866-sending-nice-html-email-with-php/</td></tr><tr><td><strong>CURRENT Content:</strong> </td><td>fdasgdsfg</td></tr><tr><td><strong>NEW Content:</strong> </td><td>sdfgsdgf</td></tr></table></body></html>
2
  • Try to send email via using a SMTP server Commented Aug 15, 2011 at 5:41
  • Post code please. Have you modified the code from that site at all? Commented Aug 15, 2011 at 5:46

7 Answers 7

4

Had the same problem, where sending following header produced a HTML-Email on one server but didn't work on another server

$headers  = 'From: [email protected]\r\n' .
            'MIME-Version: 1.0' . "\r\n" . 
            'Content-type: text/html; charset=iso-8859-1' . "\r\n" .
            "X-Mailer: PHP";

It turned out, that the \r\n was a duplicate linebreak for the server. So just using \n as a line break worked for me.

$headers  = 'From: [email protected]\n' .
            'MIME-Version: 1.0' . "\n" . 
            'Content-type: text/html; charset=iso-8859-1' . "\n" .
            "X-Mailer: PHP";
Sign up to request clarification or add additional context in comments.

Comments

3

There is a good example on the PHP manual site (here) that shows how to do this. Try copy and paste example 4.

It looks like you are not sending the string to identify the content type through in the headers properly. Maybe you should do a "show original" in Gmail and post the headers here as well if you can't get it right from the manual.

1 Comment

(I've attached the full output above)
2

It looks like the blank line after MIME-Version indicates that the header is over, so it is outputting the Content-Type line as regular text, and the html after it, instead of reading that line as part of the header to know to convert the rest to HTML.

MIME-Version: 1.0

Content-Type: text/html; charset=ISO-8859-1

<html><body>

Try getting whatever is generating your headers to remove the blank line between MIME-Version and Content-Type. (For instance, do you have an extra \r\n on that line? What does your code look like where these lines are being generated?) Also maybe add a second blank line between Content-Type and <html>.

Comments

1

Try this..

     $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     $headers .= 'From:  ' . $sender . ' <' . $sender .'>' . " \r\n" .
    'Reply-To: '.  $sender . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

Comments

1

Header problem was solved in php mail() function.

         $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
         $headers .= 'From:  ' . $senderEmail . ' <' . $senderEmail .'>' . " 
         \r\n" .
        'Reply-To: '.  $senderEmail . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

Comments

0

include this in your mail header

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

Comments

0

Try using charset=UTF-8 instead of ISO-8859-1...

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.