用于通过电子邮件发送错误的简单 php 表单

Simple php form to email errors

下面是我制作的表格的 php 代码。它在我的网站上并且似乎可以正常工作,只是它没有将电子邮件转发到我在 hostgator 中设置的电子邮件。

<?php

if (isset($_POST['submit'])) {
$name = $_POST['name'];
$subject = $_POST['subject'];
$mailfrom = $_POST['mail'];
$message = $_POST['message'];

$mailTo = "xavier@xavierbullock.com";
$headers = "From: ".$mailFrom;
$txt = "New form submission from ".$name.".\n\n".$message;

mail($mailTo, $subject, $txt, $headers);
header("Location: contact.html?mailsend");
}

?>

这是我在 hostgator 网络邮件中收到的错误消息的一部分: 不接受发件人中缺少有效地址:550 5.7.1 header 或没有发件人:header 的邮件。 我对 php 不是很熟悉,但我希望这是一个简单的解决方法。提前致谢。

您确定 $_POST['mail'] 已设置吗?可能是它为 null 或空字符串。我通常将 headers 作为关联数组发送,但 docs 表示字符串可以。也许在行尾扔一个马车return:

$headers = "From: " . $mailFrom . "\r\n";