我有邮件功能,工作正常,我收到邮件。但问题是我也得到了HTML标签。我的代码如下:
$from=$_REQUEST['id'];
$to = 'xyz@abc.com';
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers = "From: $from \r\n" .
"Reply-To: $from \r\n" .
"X-Mailer: PHP/" . phpversion();
$subject="Contact Mail has received";
$message=" SOME HTML TAGS ";
在邮件正文中,我有table
,tr
,td
等HTML标记。但是当我收到邮件时,我没有得到表格。我将所有HTML标记设为table
,tr
,td
。在标题中,我甚至将内容类型指定为text/html
,但我仍然遇到同样的问题。
我该如何避免这种情况?
答案 0 :(得分:7)
您尚未指定text/html
,因为您正在覆盖标题!
在这里,你分配它然后覆盖它:
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers = "From: $from \r\n" .
"Reply-To: $from \r\n" .
"X-Mailer: PHP/" . phpversion();
应该是
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= "From: $from \r\n" .
"Reply-To: $from \r\n" .
"X-Mailer: PHP/" . phpversion();
你错过了一个点来附加更多标题。这会覆盖您的Content-Type,这就是为什么它将电子邮件解析为文本而不是HTML