我一直试图在消息正文中创建换行符,但它不起作用。正文中的所有文本都在一行中。
<?php
if ($_POST["email"]<>'') {
$ToEmail = 'demo@localhost.com';
$EmailSubject = 'Site contact form';
$header = "MIME-Version: 1.0" . "'r'n";
$header .= "Content-type:text/html;charset=iso-8859-1" . "'r'n";
$header .= "From: ".$_POST["email"]."'r'n";
$header .= "Reply-To: ".$_POST["email"]."'r'n";
$message = "Name: ".$_POST["name"]."'r'n";
$message .= "Email: ".$_POST["email"]."'r'n";
$message .= "Comment: ".nl2br($_POST["comment"])."";
mail($ToEmail, $EmailSubject, $message, $header) or die ("Failure");
?>
Your message was sent
<?php
} else {
?>
Sorry message was not sent
<?php
};
?>
更改这些行:
$message = "Name: ".$_POST["name"]."'r'n";
$message .= "Email: ".$_POST["email"]."'r'n";
$message .= "Comment: ".nl2br($_POST["comment"])."";
对此:
$message = "Name: ".$_POST["name"]."<br />";
$message .= "Email: ".$_POST["email"]."<br />";
$message .= "Comment: ".nl2br($_POST["comment"])."";
你对nl2br
有正确的想法,但你的信息也是";名称:"以及";电子邮件:"部分-这些行也需要是HTML行,因为您正在发送HTML电子邮件。
您的代码易受攻击
顺便说一句,您应该真正清理您的输入。仅仅将$_POST
值转储到电子邮件中是极其危险的;它让你极易受到攻击。
''n在这里不起作用
您正在发布到html页面
你可以使用<br />
希望对有所帮助
使用'r'n
而不是<br />
,因为'r'n
不会转换为html标记。