【发布时间】:2014-07-25 13:49:38
【问题描述】:
首先,我不是网页设计师——我是平面设计师,所以我不是 PHP 专家。
这是我的问题:我有一个为网页构建的简单联系表单。根据在第一个表单选择中选择的主题,此表单有多个收件人。此表格正确显示在网站上,有效并发送 - 但只有一次。它只会在我将一个新的 .php 文件重新加载到我的服务器后发送一次。我去了不同的计算机,使用了不同的 IP,因为我阅读它可能是一个 cookie 问题(这不在我的代码中)并且仍然只发送一次。我已经研究过,我开始只看到相同的答案,所以我想我会问。我按照建议删除了不需要的空格,没有帮助。我尝试添加关于提交按钮的虚假陈述(就像我说没有 php pro,请原谅我的措辞),没有帮助。我已将“发件人”更改为@mywebsite 类型的条目,而不是推荐用于验证的“网站用户”之类的条目,但运气不好。任何帮助将不胜感激。
我的 PHP 文件:
<?php
$name = $_POST['name'];
$yourEmail = $_POST['yourEmail'];
$businessName = $_POST['businessName'];
$businessType = $_POST['businessType'];
$address = $_POST['address'];
$city = $_POST['city'];
$stateProvince = $_POST['stateProvince'];
$country = $_POST['country'];
$zipPostalcode = $_POST['zipPostalcode'];
$phone = $_POST['phone'];
$fax = $_POST['fax'];
$contactPref = $_POST['contactPref'];
$message = $_POST['message'];
switch ($sendTo)
{
case "aftermarketCustomerservice":
$sendTo="email1@ipa.net";
break;
case "technicalAssistance":
$sendTo="email2@ipa.net";
break;
case "aftermarketSales":
$sendTo="email3@ipa.net";
break;
case "performanceProducts":
$sendTo="email4@ipa.net";
break;
case "oemSales":
$sendTo="email5@ipa.net";
break;
case "exportSales":
$sendTo="email6@ipa.net";
break;
case "generalFeedback":
$sendTo="email7@ipa.net";
break;
default:
$sendTo="email8@ipa.net";
}
$subject="Website Contact Form";
$message="From: $name \r \n Reply to: $yourEmail \r \n Message: $message \r \n Business Name:
$businessName \r \n Business Type: $businessType \r \n Address: $address, $city, $stateProvince,
$zipPostalcode,$country \r \n Phone: $phone \r \n Fax: $fax \r \n Contact Preference:
$contactPref ";
$send=mail($sendTo, $subject, $message, "From: websiteuser@website.com");
$todayis=date("l, F j, Y");
echo "Email succesfully sent to Company Name on $todayis";
?>
【问题讨论】:
-
你检查过你的垃圾邮件文件夹吗?
-
请注意
switch-case块只定义了一个发送地址。所以这个脚本应该只向 $sendTo 地址发送一次电子邮件。 -
如果您没有收到任何错误,那么很可能是服务器配置问题。
-
发送邮件后
var_dump($send);的结果是什么? -
@Fallen 据我了解的问题,电子邮件总共只发送一次。我认为它只发送到其中一个地址。