抱歉,仍然是新手,但越来越好。我正在建立一个网站,因为我不是那么好,我正在提供一个页面,俱乐部成员可以报告问题,并给我足够的信息来调查。我写了PHP代码给我发电子邮件。如果我回显$ message,它在屏幕上打印得很好,但在电子邮件中,它只是一个带有HTML标签的长句子。我搜索了一个解决方案并尝试了“”内容类型:text / plain; charset = UTF-8“”,但没有做任何事情。我知道当我得到答案时我会感到尴尬,但我被困住了。提前谢谢。
<?php
// Convert form data to srting data
$first_name=$_POST['first_name'];
$last_name=$_POST['last_name'];
$e_mail=$_POST['e_mail'];
$browser=$_POST['browser'];
$browser_version=$_POST['browser_version'];
$os=$_POST['os'];
$os_ver=$_POST['os_ver'];
$device=$_POST['device'];
$make=$_POST['make'];
$issue=$_POST['issue'];
// Use string data to create and send e-mail
$to = '*******@*****.com'; // will need to be converted to webmaster@stjoesclub.com
$subject = 'Problem with St. Joseph Web Site';
$message = $first_name . " " . $last_name . " is reporting a problem with the web site. <br><br>" .
"E-mail address: " . $e_mail . "<br><br>" .
"Browser: " . $browser . "<br>" .
"Browser Version: " . $browser_version . "<br><br>" .
"Operating System: " . $os . "<br>" .
"Operating System Version: " . $os_ver . "<br><br>" .
"Device: " . $device . "<br>" .
"Device Make: " . $make . "<br><br>" .
$issue;
// Send e-mail to webmaster
mail($to, $subject, $message, 'From: ' . $e_mail, "Content-type: text/plain; charset=UTF-8");
?>
答案 0 :(得分:0)
Content-Type
应设置为text/html
,如@Ben Fortune所述
答案 1 :(得分:0)
使用Content-Type
作为text/html
,如下所示
$eol="\r\n";
# Common Headers
$headers = "Message-ID: <".time()."-".$e_mail.">".$eol;
$headers .= "X-Mailer: PHP v".phpversion().$eol;
// These two to help avoid spam-filters
# Boundry for marking the split & Multitype Headers
$headers .= 'MIME-Version: 1.0'.$eol;
$headers .= "Content-Type: text/html; charset=iso-8859-1".$eol.$eol;
mail($to, $subject, $message, 'From: ' . $e_mail, $headers);
答案 2 :(得分:0)
尤里卡!感谢Harish Singh的帮助,我能够解决自己的问题。看看他的代码,我发现一个问题是字符串$ mailHtml未定义,这是电子邮件空白的原因。
但是从他的代码中学习,我发现$ eol代表End Of Line。当通过电子邮件进入时,通过使用它来代替电子邮件格式。
不幸的是,如果我在提交后回显屏幕上的$ message,它就不起作用,但幸运的是我保存了旧代码以便我可以正确打印。我知道这不是有效的代码,但对于一个新手黑客来说它是有效的。
再次感谢您的帮助。