我使用this tutorial创建了一个PHP联系表单,但效果很好,但我遇到了一个潜在的安全风险/不便之处。我收到的每封电子邮件都来自我的管理员登录名。
我添加$headers
作为this thread指示,但无济于事。
我当前的PHP:
<?php
$name = $_POST['name'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$from = $_POST['email'];
$to = 'myClientsEmail@gmail.com';
$subject = 'Estimate Contact Form';
$headers = "From: $email\r\n"; /* I added this */
$headers .= "Reply-To: $email\r\n"; /* and this */
$body = "From: $name\n Phone: $phone\n E-Mail: $email\n Message:\n $message";
if ($_POST['submit']) {
if (mail ($to, $subject, $body, $from, $headers)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
}
?>
我到底错过了什么?任何帮助是极大的赞赏。谢谢!
答案 0 :(得分:4)
您的mail()
函数调用有一个额外的参数。正确的mail()
电话应该是:
if (mail($to, $subject,$body,$headers)) {
....
}
所以只需删除$from
部分就可以了。