Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 邮寄表格不包括发件人';s电子邮件_Php - Fatal编程技术网

Php 邮寄表格不包括发件人';s电子邮件

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如下所示:

<?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”
。另请参见,

注意“附加_邮件头没有邮件头注入保护。因此,用户必须确保指定的邮件头是安全的,并且只包含邮件头。也就是说,永远不要通过放置多个换行来启动邮件正文。”有关此项的详细信息,请参见此