我已经开发了一个简单的php联系表单,工作正常,但我无法根据我的要求格式化邮件正文,我的代码如下,我收到的是单行格式的邮件,
我想要像这样的新线路上的每一个信息
“姓名:Syed Sheeraz Ahmed
联系电话:03453594552
电子邮件:abc@abc.com
地址:北城9区R-47
要求:你好,你好吗“
<?php
$to = "sheery_1@hotmail.com";
$subject = "From Website Contact Form";
$name = $_REQUEST['name'] ;
$contact = $_REQUEST['contact'] ;
$address = $_REQUEST['address'] ;
$MESSAGE_BODY = "Name: ".$_POST["name"]."<br>";
$MESSAGE_BODY .= "Contact No: ".$_POST["contact"]."<br>";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."<br>";
$MESSAGE_BODY .= "Address: ".$_POST["address"]."<br>";
$MESSAGE_BODY .= "Requirement: ".nl2br($_POST["message"])."<br>";
$message = $_REQUEST['message' + 'address' + 'contact'] ;
$from = $_REQUEST['email'] ;
$headers = "From:" . $from;
mail($to,$subject,$MESSAGE_BODY,$headers);
echo "Mail Sent.";
?>
答案 0 :(得分:15)
您希望新行(\n
)不是HTML换行符(<br>
),因为您的电子邮件未标记为具有HTML正文(并且具有HTML正文的电子邮件应该具有多部分具有纯文本和HTML版本的MIME主体,因为“仅HTML”是垃圾邮件检测器的一个很好的标志。)
答案 1 :(得分:6)
当您在电子邮件内容中使用html标记时。
在邮件标题中设置content- type
text/html
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
OR
您可以使用phpmailer
来避免此类问题答案 2 :(得分:5)
如果您的电子邮件是以文本形式发送的话,则标签将不执行任何操作。尝试使用新的换行符,例如:
$ MESSAGE_BODY =“姓名:”。$ _ POST [“name”]。“\ n”;
这应该可以解决你的问题。
在上面的示例中<br>
是在变量打印后打印的,为什么?如何删除<br>
例如:
$_Post["name"]
有价值“jhon”
它打印:jhon<br>