当发件人填写表单的评论框时,我会收到该消息, 我可以看到发件人的名字。但是,我无法回复电子邮件 因为电子邮件地址是空白的。
php如下:
<?php
$name=$_POST['name'];
$telephone=$_POST['telephone'];
$email=$_POST['email'];
$date=$_POST['date'];
$location=$_POST['location'];
$comments=$_POST['comments'];
$to="info@hsphotography.co.uk";
$subject="new mesage";
mail($to,$subject,$comments,"From:".$name);
echo "Your message has been sent. Thank you for your enquiry";
?>
答案 0 :(得分:1)
mail()
函数的第四个参数接受了额外的标题。例如:
$headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n";
mail($to, $subject, $comments, $headers);
您需要Reply-To
标题。
答案 1 :(得分:1)
现在您将$name
变量放在您应该放置发件人电子邮件地址($email
)的字段中。你可以同时使用它们,但遗憾的是你需要将它们一起破解,因为PHP邮件功能不适合你。
您可以像这样添加:
mail($to, $subject, $comments, 'From: "' . $name . '" <' . $email . '>')
请注意,您需要在字符串中包含双引号字符,这可能会有点冒险,但您可以使用'
来避免变得更复杂。
如果$name
是“Bob”且$email
是“bob@test.test”,则所有这些应该如下所示:'From: "Bob" <bob@test.test>'
。另请参阅this question on how to format email headers