【发布时间】:2015-08-21 03:41:40
【问题描述】:
我使用this tutorial 制作了一个 PHP 联系表单,效果很好,但我遇到了一个潜在的安全风险/不便。我收到的每封电子邮件都来自我的管理员登录名。
我按照this thread 的指示添加了$headers,但无济于事。
我目前的 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>';
}
}
?>
我到底错过了什么?任何帮助是极大的赞赏。谢谢!
【问题讨论】:
-
你在说这个吗:
$headers = "From: $email\r\n";? -
是的,这就是我添加的内容,希望能更改电子邮件中的“发件人”
-
你想要的是这个:
$headers = '"From: The Name <$email>\r\n"; -
这引发了一个错误
Parse error: syntax error, unexpected '$body' (T_VARIABLE),在标头之后、if 语句之前引用了$body
标签: php