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