我有一个表单HTML / PHP,简单,名称,主题和评论,发送到我的雅虎邮箱,我有两个问题,textarea评论也发送HTML标签,如果有人提出新行(输入)如何删除它,并在接收电子邮件时我在主题中获得服务器/主机名,是否有办法制作一些通用主题,如我的网站的名称或类似的东西而不是主机名?
if(!isset($_POST['submit']))
{
$ToEmail = 'wired@yahoo.com';
$EmailSubject = 'Pitanje sa site.com';
$mailheader = "From :". $_POST["email"]. "\r\n";
$mailheader .= "Reply to :". $_POST["email"]. "\r\n";
$mailheader .= "Ova poruka sadrzi pitanje postavljeno na www.site.com \r\n";
$MESSAGE_BODY = "Ime : " .$_POST["name"]." \r\n";
$MESSAGE_BODY .= "Email : " .nl2br($_POST["email"])." \r\n";
$MESSAGE_BODY .= "Naslov : " .$_POST["subject"]." \r\n";
$MESSAGE_BODY .= "Poruka : " .nl2br($_POST["feedback"])." \r\n";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
echo "Vaša poruka je uspješno poslana! Kliknite <a href=\"index.html\">ovde</a> za početnu stranu ";
};
答案 0 :(得分:3)
好的,我真的不明白你的问题,但在这里......
1)您要删除HTML标签吗?如果是,请使用strip_tags()
函数
2)您必须发送标题。例如,如果您使用mail()
函数,则必须执行以下操作:
$to = 'destination@example.com';
$subject = 'Subject';
$message = 'Your Message';
$headers = 'From: Your Name <email@example.com>';
mail($to, $subject, $message, $headers);
答案 1 :(得分:0)
您可以通过以下方式发送电子邮件:
$to = "email@host.com";
$subject = "Your subject here";
$body = "The comment values here";
if (mail($to, $subject, $body)) {
echo("<p>Message successfully sent!</p>");
} else {
echo("<p>Message delivery failed...</p>");
}
删除html新行,您可以使用函数str_replace("<br/>","\n", $body);
或使用正则表达式的更好方法
$body = preg_replace("/<br */?>/","\n",$body);
答案 2 :(得分:0)
我认为您可以使用“nl2br”正确格式化textarea。
另外,对于标题,您可以将它们格式化为您想要的格式,如果您使用带有“From”的标题,则应该删除服务器的名称:
$headers = 'From: Me <me@example.com>' . "\r\n";
然后
mail($to, $subject, $message, $headers);