0

我面临一个问题,当我使用 发送邮件时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>

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

4

3 回答 3

3

试试这个

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

也试试:PHPMailer

于 2012-12-06T09:56:29.803 回答
0

采用

html_entity_decode()

eg. mail($_POST["coach"], $subject, html_entity_decode($message), $headers);
于 2012-12-06T09:58:12.007 回答
0

在标题部分添加以下代码

<?php
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
?>
于 2012-12-06T11:04:32.180 回答