2015-03-27 5 views
1

Я пытаюсь вставить и отправить электронное письмо с тегом html, но полученное письмо является чистым html-текстом. Я добавил правильные заголовки, но кажется, что они мне не помогают (или, по крайней мере, я думаю, что это правильно).Отправка html с телом электронной почты

Вот код

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

+1

возможно дубликат [PHP почты формы не завершения отправки e- mail] (http://stackoverflow.com/questions/24644436/php-mail-form-doesnt-complete-sending-e-mail) –

+0

Ca n вы публикуете свой код здесь –

+0

Зачем дублировать? Почта работает только не печатает html. Да, извините, источник отправлен – Select

ответ

2

Вы были перезагрузки $headers при установке From: заголовок:

$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(); 
Смежные вопросы