PHP联系表单没有发送电子邮件但没有显示错误

时间:2015-09-06 10:41:47

标签: php email contact-form

请注意,其他几个人已经问过这个问题,但似乎没有一个问题对我有用。我刚刚完成Roy's idea from his answer here尝试没有任何成功,因此发布了另一个问题。我有使用Bootstrap构建的联系表单,我有一个PHP文件来提交电子邮件提交。这是表单代码:

<form class="form-horizontal" role="form" name="contact-form" id="contact-form" action="contact.php" method="post">
              <div class="modal-header">
                <h4>Let‘s get talking!</h4>
              </div>
              <div class="modal-body">
                <div class="form-group">
                  <label for="contact-name" class="col-xs-2 control-label">Name</label>
                  <div class="col-xs-10">
                    <input type="text" class="form-control" name="contact-name" id="contact-name" placeholder="John Doe">
                  </div>
                </div>
                <div class="form-group">
                  <label for="contact-email" class="col-xs-2 control-label">Email</label>
                  <div class="col-xs-10">
                    <input type="email" class="form-control" name="contact-email" id="contact-email" placeholder="example@domain.com">
                  </div>
                </div>
                <div class="form-group">
                  <label for="contact-message" class="col-xs-2 control-label">Message</label>
                  <div class="col-xs-10">
                    <textarea class="form-control" name="contact-message" rows="5" placeholder="Your message"></textarea>
                  </div>
                </div>
              </div>
              <div class="modal-footer">
                <a class="btn btn-default btn-lg" data-dismiss="modal">Close</a>
                <button type="submit" name="submit" id="submit" class="btn btn-primary btn-lg">Send</button>
              </div>

这里是contact.php中的脚本:

<?php

if (empty($_POST)) {
    print "<p>No data was submitted.</p>";
    print "</body></html>";
    exit();
}


$name = $_POST["contact-name"];
$email = $_POST["contact-email"];
$message = $_POST["contact-message"];

$EmailTo = "amitsc@icloud.com";
$Subject = "New Message Received";


// send email
$test = mail($EmailTo, $Subject, $message, "From: ".$name." <".$email.">");
if ($test) {echo "successfuly sent";} else {echo "sending failed";}

?>

每次我点击表单中的Send按钮,都会返回消息successfully sent,但实际上没有发送任何电子邮件。为了让事情变得更有趣,即使我提交一份空白表格,我仍然会得到相同的信息(successfully sent)!尽管if开头的contact.php阻止在这种情况下应该说No data was submitted,但这仍然存在。我做错了什么?

更新:我刚刚提交了var_dump($_POST);,并提供了一份空白表格的输出:

array(4) { ["contact-name"]=> string(0) "" ["contact-email"]=> string(0) "" ["contact-message"]=> string(0) "" ["submit"]=> string(0) "" } successfuly sent

P.S。:为了它的价值,这些文件目前正在我的计算机上运行MAMP堆栈。它还没有托管在公共服务器上,因为我还在构建它。这对愚蠢的结果有什么影响吗?

0 个答案:

没有答案