这个联系表单PHP代码正在发送电子邮件,但出现的所有内容都是“From:”,之后没有其他内容


This contact form PHP code is sending the email through but all that is coming up is "From:" with nothing else after it?

这是我挣扎了一段时间的PHP代码。此代码发送用户将单击提交按钮的电子邮件,邮件将转到设置的电子邮件地址。我挣扎的是每次我尝试发送信息时,它都会通过,但我无法得到任何东西,但"来自:"就是这样,没有一个信息通过它只是空白。我一直在看YouTube并向其他网络程序员提问,到目前为止没有任何效果,所以我想知道有人可以在这里帮助我。

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$to = "daileyproductions@gmail.com";
$subject = "New Message";
mail ($to, $subject, "From: " . $name . $email . $phone . $message);
?>

你的代码应该可以工作了。它适用于我的系统。

我猜你正在传递一个空的请求。尝试用实际文本替换$_POST,看看你得到了什么。如果你得到正确的消息,你应该看看你如何处理$_POST数据(是的,最好转义用户输入)。

如果你$_POST数据收集正确,那么我建议使用 PHPMailer - 它更容易和直接。


附加点:

  1. 您可能需要向标题添加正确的行尾字符。可能是'n的,也可能是'r'n的;
  2. 运行phpinfo()并检查sendmail_path;
  3. 检查邮件服务器的邮件日志(通常为/var/log/maillog以调试问题)。它很容易成为您的 MTA