简体   繁体   中英

Sending html with email body

I am trying to insert and send email with html body but the received email is pure html text.I've added correct headers but seems that they not helping me ( or at least I think are correct one ).

Here is the code

if(isset($_POST['email'])) {
$email_to = "";
$email_subject = "";

$firstname = $_POST['name']; // required
$email = $_POST['email']; // required
$message = $_POST['message']; // not required
$phone = $_POST['phone'];
$captcha = $_POST['captcha'];
$subject = $_POST['subject']; // required  
    $email_message = "New email:\n\n";
        $email_message .= '
       <html>
       <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       <title>Untitled Document</title>
       </head>
       <body>            
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                <td align="center" valign="top" bgcolor="#838383" style="background-color:#838383;"><br>
                   <table width="600" border="0" cellspacing="0" cellpadding="0">
                       <tr>
                         <td align="left" valign="top"><img src="images/top.png" width="600" height="177" style="display:block;"></td>
                       </tr>
              <tr>
                         <td align="center" valign="top" bgcolor="#d3be6c" style="background-color:#d3be6c; font-family:Arial, Helvetica, sans-serif; font-size:13px; color:#000000; padding:0px 15px 10px 15px;">
                      <div style="font-size:24px; color:#555100;"><br>
                     '.$firstname.'
                      </div><br>
                      <div>'.$subject.'</div>

            <div>
            '.$message.'
            '.$email.'
                    '.$phone.'
     </div></td>
 </tr>
 <tr>
   <td align="left" valign="top"><img src="images/bot.png" width="600" height="18" style="display:block;"></td>
 </tr>
 </table>
 <br>
 <br></td>
 </tr>
</table>
</body>
</html>';

        // create email headers
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
        $headers = 'From: '.$email."\r\n".
        'Reply-To: '.$email."\r\n" .
        'X-Mailer: PHP/' . phpversion();
        @mail($email_to, $email_subject, $email_message, $headers);
  }

http://pastebin.com/5aQh0Gvz

You were resetting $headers when setting the From: header:

$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: '.$email."\r\n". // << note the dot before = that wasn't here before making `$headers` to be resetted
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM