Php:收到的电子邮件没有任何消息

Php:收到的电子邮件没有任何消息,php,html,Php,Html,我正在尝试用php创建“联系我们”表单,并将其链接到我的html。我确实收到了电子邮件,但没有留言 <?php $visitor_email = $_POST['email']; $message = $_POST['message']; $email_from = 'web@based.com'; $email_subject = "New Form Submission"; $email_body = "User Email: $visitor_email.\n".

我正在尝试用php创建“联系我们”表单,并将其链接到我的html。我确实收到了电子邮件,但没有留言

<?php
$visitor_email = $_POST['email'];
$message = $_POST['message'];


$email_from = 'web@based.com';

$email_subject = "New Form Submission";

$email_body = "User Email: $visitor_email.\n".
                "User Message: $message.\n";


$to = "ur.zic@based.com";

$headers = "From: $email_from \r\n";

$headers .= "Reply-To: $visitor_email \r\n";

mail($to, $email_subject, $email_body, $headers);

header('Location: '.$_SERVER['HTTP_REFERER']);

?>



联系我们
如果代码有问题,我很乐意接受任何建议

致以最良好的祝愿


Uroš

根据您的PHP版本,正确连接以及定期使用\r\n而不是一次\n和另一次\r\n可能非常关键

$email_body = "User Email:". $visitor_email."\r\nUser Message:". $message."\r\n";
$headers = "From: ". $email_from. "\r\n";
$headers .= "Reply-To:". $visitor_email; 
// you might not need \r\n at the end if you do not add more header
如果邮件是否已发送,我还将添加一个条件

if(mail($to, $email_subject, $email_body, $headers)){
  header("Location: ".$_SERVER['HTTP_REFERER']);
// careful with the mix of single quote for different things (above)
  }
else {
    die("Error with your email");
  }

设置从电子邮件的标题。如果消息是html格式的,也可以使用内容类型text/html

$headers = "From:" . $email_from . "\r\n";
$headers .= "Content-type: text/plain; charset=UTF-8" . "\r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to, $email_subject, $email_body, $headers);

希望这项工作

“不起作用的东西”听起来相当宽泛。您试图识别问题的原因是什么?您的意思是只有$message是空的?还是其他人呢?可能是语法错误,因为较旧的php版本没有读取字符串中的变量。一些简单的调试可以让您进一步了解。删除重定向,然后放置
echo“[$visitor_email][$message]”$\u POST
数组中获取代码>之后。你看到那里的价值观了吗?谢谢大家!当我打印和acho时,所有的$u绘图似乎都工作正常。[提交新表格][用户电邮:here@based.com.用户消息:这似乎也有效。][回复:here@based.com我猜“邮件”功能一定有问题,因为我收到的电子邮件没有任何内容,没有标题、消息或主题。
$headers = "From:" . $email_from . "\r\n";
$headers .= "Content-type: text/plain; charset=UTF-8" . "\r\n";
$headers .= "Reply-To: $visitor_email \r\n";
mail($to, $email_subject, $email_body, $headers);