我在提交此邮件表单时遇到问题。我可以获取要发送到.php文件的信息,但是电子邮件没有发送,任何人都可以帮助我吗?
这是jquery
$('form.contact').on('submit', function() {
var that = $(this),
url = that.attr('action'),
type = that.attr('method'),
data = {};
that.find('[name]').each(function() {
var that = $(this);
name = that.attr('name');
value = that.val();
data[name] = value;
});
$.ajax({
url: url,
type: type,
data: data,
success: function(response) {
console.log(response);
}
});
return false;
});
这里是php
include 'config.php';
// Email Submit
if (isset($_POST['email']) && isset($_POST['name']) && isset($_POST['message'])){
//send email
mail(EMAIL_ADDRESS, "Contact Form: ".$_POST['name'],
$_POST['message'], "From:" . $_POST['email']);
}
EMAIL_ADDRESS
是由管理员设置的常量。
如果需要,这里是html
<div id="contact_form">
<form action="admin/submit.php" method="post" class="contact">
<input class="fullwidth" type="text" name="name" placeholder="Your Name" />
<input class="fullwidth" type="email" name="email" placeholder="Email Address" />
<textarea type="text" name="message" placeholder="Message"></textarea>
<input id="submit" type="submit" value="Submit" />
<div id="submit_triangle"></div>
</form>
</div>
答案 0 :(得分:0)
嗯,你的代码似乎很好。但是你在系统上安装了邮件服务器吗?如果有,请检查邮件服务器的设置
http://php.net/manual/en/function.mail.php表示如果邮件成功接受传递,则mail
返回TRUE,否则返回FALSE。
重要的是要注意,仅仅因为邮件被接受传递,并不意味着邮件实际上会到达预定的目的地
答案 1 :(得分:0)
如果你能够将数据发送到.php,那么它必须是php方面你有困难。通过php.ini启用你的错误处理程序,它应该告诉你你有什么PHP问题。
在包含电子邮件功能的php文件中,在脚本的最开头添加以下行:
<?php
error_reporting(E_ALL);
ini_set('display_errors', true);
//your exiting script //
?>
然后重新运行脚本,如果它仍然不起作用,php应该回应php问题供你调试。