简体   繁体   English

联系表格发送空白电子邮件

[英]contact form sending blank emails

Can anyone think of a logical reason to why a contact form which works perfectly well on my 123 reg account, will not work on my clients account? 谁能想到一个逻辑上的原因,为什么在我的123 reg帐户上能很好地工作的联系表格不能在我的客户帐户上起作用? when I test it on my side, I get the email and the form contents through to my inbox perfectly but when the same codes are used on my clients account, with his email address, he receives an email with no data.. 当我在一边测试时,我会将电子邮件和表单内容完美地传递到我的收件箱中,但是当我的客户帐户使用相同的代码以及他的电子邮件地址时,他会收到一封没有数据的电子邮件。

<?php

$EmailFrom = "webmaster@pb.co.uk";
$EmailTo = "loans@website.co.uk";
$Subject = "Testing";
$Name = Trim(stripslashes($_POST['Name'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// validation
$validationOK=true;
if (!$validationOK) {
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
    exit;
}

// prepare email body text
$Body = "";
$Body .= "Name: ";
$Body .= $Name;
$Body .= "\n";
$Body .= "eMail: ";
$Body .= $Email;
$Body .= "\n";
$Body .= "Message: ";
$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=\"0;URL=http://website/thankyou.html\">";
}
else{
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">";
}
?>

change 更改

"From: $EmailFrom"

to

"From: $EmailFrom" . "\r\n" 

Add header. 添加标题。

$Body  = 'MIME-Version: 1.0' . "\r\n";
$Body .= 'Content-type: text/html; charset=utf-8' . "\r\n";
$Body .= 'From: '. $EmailFrom . "\r\n" . 'X-Mailer: PHP/' . phpversion();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM