PHP mail()函数,以HTML代码形式发送邮件

时间:2012-12-06 09:54:26

标签: php html

我遇到的问题是,当我使用mail()发送邮件时,它会在邮件中发送HTML代码。这是我的代码:

<?php
$message = "<table width='100%' border='0' cellspacing='0' cellpadding='3'>
  <tr>
    <td colspan=2>Dear ".$_POST['fname']."&nbsp;".$_POST['lname'].",</td>
  </tr>
   <tr>
    <td colspan=2>Thank you for contacting us.We will get back to you in next 48 hrs.Your Contacts Details are as follows:</td>
  </tr>
  <tr>
    <td width='28%' >Title</td>
    <td width='72%'>".$_POST['title']."</td>
  </tr>
  <tr>
    <td>Email</td>
    <td>".$_POST['email']."</td>
  </tr>
  <tr>
    <td>Your Message</td>
    <td>".$_POST['message']."</td>
  </tr>
  <tr>
    <td>How did you hear about us? </td>
    <td>".$checkBox."</td>
  </tr>
</table>
";  

$subject = "ContactUs";
$headers .= "From: ".$from_mail." \r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

mail($_POST["coach"], $subject, $message, $headers);

?>

我在电子邮件中收到的输出如下:

<table width='100%' border='0' cellspacing='0' cellpadding='3'>
  <tr>
    <td colspan=2>Dear Test User,</td>
  </tr>
   <tr>
    <td colspan=2>Thank you for contacting us.Your Contacts Details are as follows:</td>
  </tr>
  <tr>
    <td width='28%' >Title</td>
    <td width='72%'>Mr.</td>
  </tr>
  <tr>
    <td>Email</td>
    <td>test@example.com</td>
  </tr>
  <tr>
    <td>Your Message</td>
    <td>Test Message</td>
  </tr>
  <tr>
    <td>How did you hear about us? </td>
    <td>www.example.com</td>
  </tr>
</table>

我不知道为什么会这样。任何建议将不胜感激。

3 个答案:

答案 0 :(得分:3)

试试这个

$header  = "MIME-Version: 1.0\r\n";
$header .= "Content-type: text/html; charset: utf8\r\n";

还可以尝试:PHPMailer

答案 1 :(得分:0)

使用

  

html_entity_decode()

eg. mail($_POST["coach"], $subject, html_entity_decode($message), $headers);

答案 2 :(得分:0)

在标题部分

中添加以下代码
<?php
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
?>