Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.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联系人表单_Php_Html_Contact Form - Fatal编程技术网

多个收件人不工作的PHP联系人表单

多个收件人不工作的PHP联系人表单,php,html,contact-form,Php,Html,Contact Form,我已经构建了一个PHP联系人表单,用户必须在其中填写所有字段,用PHP验证表单并发送给之前选择的收件人。不幸的是,它不起作用,消息永远无法到达目的地。我做错了什么 我给你留下代码: 你的switch语句就是问题所在。 如果我正确理解你的代码,它应该是 switch ($to) { // not $sendTo // (...) } 您的版本不尊重用户的选择 这对你有帮助吗?所以你实际上有两个问题。首先是Burki指出的切换问题 第二个问题是,在调用mail时没有

我已经构建了一个PHP联系人表单,用户必须在其中填写所有字段,用PHP验证表单并发送给之前选择的收件人。不幸的是,它不起作用,消息永远无法到达目的地。我做错了什么

我给你留下代码:


你的switch语句就是问题所在。 如果我正确理解你的代码,它应该是

switch ($to) {    // not $sendTo
   // (...)
          }
您的版本不尊重用户的选择


这对你有帮助吗?

所以你实际上有两个问题。首先是Burki指出的切换问题

第二个问题是,在调用mail时没有使用$sendTo的值。您的邮件呼叫需要使用$sendTo作为收件人:字段,例如:

mail ($sendTo, $subject, $body, $headers)

不幸的是,它不起作用。它以什么方式不起作用?你有错误吗?如果是,信息是什么?它是发送给一些但不是所有的收件人,还是根本没有?您是否尝试过一个简单的示例,只调用mail函数以确保它与您的配置无关?请添加足够的详细信息,谢谢。对不起,你是对的,我已经更正了我的问题。你的意思是电子邮件没有发送??如果你运行一个脚本,只调用带有测试消息的邮件,会发生什么?那么邮件到达目的地了吗?我认为邮件正在发送,因为我收到了邮件已经发送的消息@BrianDriscoll,抱歉?很好,但在这种情况下,电子邮件仍应发送到默认情况下指定的地址。是的,这确实是错误的,但仍然无法工作:/I我没有在我的电子邮件框中收到消息…Brian Driscoll是对的:尝试通过简单的测试脚本发送电子邮件。如果您没有收到,请找出原因。例如,检查你的php.ini,我取出switch语句,表单就可以工作了。我马上就收到了消息,所以我认为这不是php.ini问题。我注意到了另外一件事:如果邮件$to、$subject、$body、$headers发送到$to,而不是$sendTo。如果您仍然使用上述代码,则需要修复。我尝试过,但没有成功,我仍然收到成功消息,但邮箱中没有电子邮件。因此,我改为添加了邮件$sendTo、$to、$subject、$body、$headers,但现在$from被Gmail上发件人fidl上的某个服务器名替换,邮件正文上的html没有呈现,我可以将所有标记都视为纯文本:邮件的签名是:bool mail string$to,string$subject,string$message[,字符串$additional_头[,字符串$additional_参数]],因此,当您调用邮件$sendTo、$to、$subject、$body、$headers时,您将$to作为主题、$subject作为正文、$body作为附加标题,并将$headers作为附加参数。这对我来说没有多大意义。另外,对于$headers,您是否确定PHP\u EOL常量值为\r\n?这是标题所需的,因此如果PHP\u EOL ha例如,如果值为\n,则您的头未正确发送。
mail ($sendTo, $subject, $body, $headers)