Php 邮寄表格不包括发件人';s电子邮件
当发件人填写我表格的“备注”框时,我可以收到邮件, 我可以看到发送者的名字。但是,我无法回复电子邮件 因为电子邮件地址是空的 php如下所示:Php 邮寄表格不包括发件人';s电子邮件,php,Php,当发件人填写我表格的“备注”框时,我可以收到邮件, 我可以看到发送者的名字。但是,我无法回复电子邮件 因为电子邮件地址是空的 php如下所示: <?php $name=$_POST['name']; $telephone=$_POST['telephone']; $email=$_POST['email']; $date=$_POST['date']; $location=$_POST['location']; $comments=$_POST['comments']; $to="inf
<?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";
?>
函数的mail()
的第四个参数接受了额外的头。例如:
$headers = 'From: ' . $email . "\r\n" . 'Reply-To: ' . $email . "\r\n";
mail($to, $subject, $comments, $headers);
您需要回复
标题。现在您正在将$name
变量放在应该放置发件人电子邮件地址的字段中($email
)。您可以同时使用这两个函数,但不幸的是,您需要将它们组合在一起,因为PHP邮件函数不适合您
您可以这样添加这两个选项:
mail($to, $subject, $comments, 'From: "' . $name . '" <' . $email . '>')
mail($to、$subject、$comments,'From:“.$name.”)
注意,您需要在字符串中包含双引号字符,这可能有点冒险,但您可以使用“
来避免需要变得更复杂
如果$name
是“Bob”,而$email
是”bob@test.test,那么这一切看起来应该是这样的:'From:“Bob”
。另请参见,注意“附加_邮件头没有邮件头注入保护。因此,用户必须确保指定的邮件头是安全的,并且只包含邮件头。也就是说,永远不要通过放置多个换行来启动邮件正文。”有关此项的详细信息,请参见此