这是我挣扎了一段时间的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 - 它更容易和直接。
附加点:
- 您可能需要向标题添加正确的行尾字符。可能是
n
的,也可能是rn
的; - 运行
phpinfo()
并检查sendmail_path
; - 检查邮件服务器的邮件日志(通常为
/var/log/maillog
以调试问题)。它很容易成为您的 MTA。