Php 格式化电子邮件表单响应

Php 格式化电子邮件表单响应,php,Php,我已创建了一个使用此脚本的电子邮件表单: <?php foreach ($_POST as $field=>$value) { $formcontent .= "$field: $value\n"; } $formcontent .= 'User-Agent: '.$_SERVER['HTTP_USER_AGENT']; $recipient = "andrew.***y@***********.co.uk"; $subject = "Event feedback form";

我已创建了一个使用此脚本的电子邮件表单:

<?php
foreach ($_POST as $field=>$value)
{
$formcontent .= "$field: $value\n";
}
$formcontent .= 'User-Agent: '.$_SERVER['HTTP_USER_AGENT'];


$recipient = "andrew.***y@***********.co.uk";
$subject = "Event feedback form";
$mailheader = "From: web.form@**********.co.uk\r\n";
$mailheader .= "Reply-To: $email\r\n";
$mailheader .= "MIME-Version: 1.0\r\n";


mail($recipient, $subject, $formcontent, $mailheader) or die("Failure!");
header("location:http://www.**********.co.uk");
?>

这将以一种非常容易阅读的方式逐行格式化邮件,但是客户希望它看起来更像它来自的表单!即使我可以用水平的规则来分隔这些行,并对齐响应,这也会是一件事——这可能吗

谢谢
Jim

您可以通过在标题中添加右行来创建html电子邮件。然后可以添加表格、段落标记、行等。请记住,电子邮件客户端无法呈现浏览器所能呈现的所有内容,所以请温和地使用html

$mailHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";

另外,请注意,您创建电子邮件的方式容易受到电子邮件注入漏洞的攻击。阅读此处的更多信息:

如果您不能或不想在电子邮件中使用HTML,您至少可以使用选项卡对齐文本,使其看起来更美观

$formcontent .= "$field:\t$value\n";
这将使输出看起来像这样:

Name:    sachleen
Email:   me@sachleen.com
Address: 123 fake st

您可以使用html表格对其进行格式化

$mailHeader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$formcontent .="<table border='1'>";
foreach ($_POST as $field => $value) {
  $formcontent .= "<tr>";
  $formcontent .= "<td>$field:</td> <td>$value</td>";
  $formcontent .= "</tr>";
}
$formcontent .= '<tr><td>User-Agent: </td><td>'.$_SERVER['HTTP_USER_AGENT'].'</td>';
$formcontent .= "</table>";
$mailHeader.=“内容类型:text/html;charset=iso-8859-1\r\n”;
$formcontent.=“”;
foreach($\发布为$field=>$value){
$formcontent.=“”;
$formcontent.=“$field:$value”;
$formcontent.=“”;
}
$formcontent.=“用户代理:”。$\u服务器['HTTP\U用户代理']”;
$formcontent.=“”;

是。例如,这将插入一个基于文本的水平规则:
$formcontent.=“-----------------------\n”
还有许多支持HTML的PHP电子邮件库,允许您发送带有HTML表格、
标题等内容的电子邮件。讨论了一些。关于电子邮件中HTML的进一步说明-尝试使用老式的HTML3.2。这是可以使用表格进行布局的一次。如果可能的话,你会想避免使用CSS,如果你需要的话,可以内联使用。谢谢大家,所有的建议都很好,非常有用。非常感谢HI-实际上上面的代码只在表单上返回!我是否需要在末尾包含一个结束html标记?谢谢,不知道你是否收到了我以前的帖子!吉姆