我知道这是一个非常共同的问题,但是因为我没有忘记任何分号,并且我在脚本的开头声明了所有变量,我想知道为什么这个错误仍然会抛出。
代码非常简单: 编辑:
if (isset($_POST["email"]))
{
$name=(isset($_POST["name"])) ? $_POST["name"] : "";
$email=(isset($_POST["email"])) ? $_POST["email"] : "";
$phone=(isset($_POST["phone"])) ? $_POST["phone"] : "";
$ext=(isset($_POST["ext"])) ? $_POST["ext"] : "";
$website=(isset($_POST["website"])) ? $_POST["website"] : "";
$body=(isset($_POST["body"])) ? $_POST["body"] : "";
$to = "romain.petit@infiniscale.com";
$subject = "Message $name from Infiniscale Website";
$message = "$name sent you a message using the contact form. <br/>";
$message .= "Infos : <br/>";
$message .= "Email : $email <br/>";
$message .= "Phone : $phone <br/>";
$message .= "Ext : $ext <br/>";
$message .= "Website : <a href=\"$website\">$website</a> <br/><br/>";
$message .= "Message: $body <br/>";
$from = "mailer@infiniscale.com";
$headers = "From: " . $from;
mail($to,$subject,$message,$headers);
return "Attempted Mail Send.";
}
else
{
return false;
}
表单已发送,“尝试发送邮件”。消息显示。但是我的邮箱里没有收到任何邮件,而我知道邮件服务器正在运行。
答案 0 :(得分:3)
您需要在邮件中转义双引号,而不是:
$message = "Website : <a href="$website">$website</a> <br/><br/>";
你需要做
$message = "Website : <a href=\"$website\">$website</a> <br/><br/>";
对于包含双引号的邮件的所有部分。
答案 1 :(得分:0)
@Nexerus是正确的。也可以使用:
$message = "Website : <a href='".$website."'>$website</a> <br/><br/>";
答案 2 :(得分:0)
我认为标题必须用回车符和新行“\ r \ n”分隔。 和你的头像这样 $ header =“From:”。$ from from。 “\ r \ n”;