我在这个联系页面上有问题,电子邮件正在发送,但是是空白的!我似乎找不到解决办法。我认为$_POST将需要添加,然而,网络托管公司说这是没有必要在这个php脚本谢谢你的时间和帮助。下面的代码片段。
<?php
$EmailFrom = "sales@ibdengland.co.uk";
$EmailTo = "kent.collins.uk@gmail.com";
$Subject = "online form";
$Name = Trim(stripslashes($_POST['Name']));
$Email = Trim(stripslashes($_POST['Email']));
$Tel = Trim(stripslashes($_POST['Tel']));
$Message = Trim(stripslashes($_POST['Description of project']));
// validation
$validationOK=true;
if (!$validationOK) {
echo "please check your details";
header("Location: http://www.ibdengland.co.uk/thankyou.html");
exit;
}
// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "'n";
$Body .= "Tel: ";
$Body .= $Tel;
$Body .= "'n";
$Body .= "Email: ";
$Body .= $Email;
$Body .= "'n";
$Body .= "Description of project: ";
$Body .= $Message;
$Body .= "'n";
// send email
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
// redirect to success page
if ($success){
print "<meta http-equiv='"refresh'" content='"1;URL=thankyou.html'">";
}
else{
print "<meta http-equiv='"refresh'" content='"1;URL=thankyou.html'">";
}
?>
您忘记添加标题了。
例子:
$headers = 'MIME-Version: 1.0' . "'r'n";
$headers .= 'Content-type: text/html; charset=utf-8' . "'r'n";
$headers .= 'From: '. $EmailFrom . "'r'n" .
'X-Mailer: PHP/' . phpversion();
尝试改变:
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
:
$success = mail($EmailTo, $Subject, $Body, "From: <".$EmailFrom.">");
您没有使用任何header
从这里得到帮助。并使用它。我想这会对你有帮助。
post header like below
$headers = 'From:'.$EmailFrom . "'r'n" .
'Reply-To: '.$EmailFrom . "'r'n" .
'X-Mailer: PHP/' . phpversion();
则替换
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>");
,代码为
$success = mail($EmailTo, $Subject, $Body, $headers);
请试试这个。