http://www.raymondselda.com/php-contact-form-with-jquery-validation/
我正在尝试一些不同的联系表格,包括上面的表格。
我在此页面上运行:http://themeforward.com/demo2/features/contact-form/
问题是这个表单没有成功发送电子邮件到代码中的地址(完成的代码可以在这里找到:http://www.raymondselda.com/php-contact-form-with-jquery-validation/)
有人知道问题是什么吗?
//If there is no error, send the email
if(!isset($hasError)) {
$emailTo = 'youremail@email.com'; //Put your own email address here
$body = "Name: $name \n\nEmail: $email \n\nSubject: $subject \n\nComments:\n $comments";
$headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
mail($emailTo, $subject, $body, $headers);
$emailSent = true;
答案 0 :(得分:3)
很多原因:
mail()
无法将电子邮件移交给SMTP服务器,则会返回布尔值FALSE。你没有检查那个条件开始寻找的第一个地方是mail()的返回值。然后查看您的SMTP服务器日志,看看PHP交给它后电子邮件(如果)会发生什么。 SMTP服务器的日志还会说明接收服务器是否退回/拒绝它。
如果它被静默地扔在接收服务器上的垃圾邮件文件夹中,那么就没有证据证明这一点,你将不得不在接收端进一步调查。
电子邮件是一项复杂的业务,需要执行许多非常规的步骤,每个步骤都必须正常工作。沿着线路和电子邮件的任何地方的任何故障都可能消失。你必须调查在这些阶段的每一个阶段发生的事情,以找出为什么没有交付的东西。