我的网站上有联系表格。但是,每当我点击提交时,我都没有收到任何电子邮件地址,尽管它确实说已经提交了。
我知道HTML
有很多PHP
,但关于<form id="contact-form" role="form" action="" method="POST">
<div class="ajax-hidden">
<div class="form-group wow fadeInUp">
<label class="sr-only" for="c_name">Name</label>
<input type="text" id="c_name" class="form-control" name="c_name" placeholder="Name">
</div>
<div class="form-group wow fadeInUp" data-wow-delay=".1s">
<label class="sr-only" for="c_email">Email</label>
<input type="email" id="c_email" class="form-control" name="c_email" placeholder="E-mail">
</div>
<div class="form-group wow fadeInUp" data-wow-delay=".2s">
<textarea class="form-control" id="c_message" name="c_message" rows="7" placeholder="Message"></textarea>
</div>
<button type="submit" class="btn btn-lg btn-block wow fadeInUp" data-wow-delay=".3s">Send Message</button>
</div>
<div class="ajax-response"></div>
</form>
<script>
$('button').click(function () {
var c_name = $("#c_name").val();
var c_email = $("#c_email").val();
var c_message = $("#c_message").val();
$.ajax({ //create an ajax request to load_page.php
type: "POST",
url: "assets/php/contactForm.php",
data: {
"c_name": c_name,
"c_email": c_email,
"c_message": c_message
},
success: function (data) {
if (data) {
alert(data);
} else {
alert('Successfully not posted.');
}
}
});
});
</script>
并不多,所以欢迎任何帮助。
以下是代码:
<?php
// Contact
$to = 'krischlebus@gmail.com';
$subject = 'Portfolio ContactForm';
if(isset($_POST['c_name']) && isset($_POST['c_email']) && isset($_POST['c_message'])) {
$name = $_POST['c_name'];
$from = $_POST['c_email'];
$message = $_POST['c_message'];
if (mail($to, $subject, $from, $name, $message)) {
$result = array(
'message' => 'Sent, thanks!',
'sendstatus' => 1
);
echo json_encode($result);
} else {
$result = array(
'message' => 'Ooops, problem..',
'sendstatus' => 1
);
echo json_encode($result);
}
}
?>
Contactform.php
{{1}}
答案 0 :(得分:0)
检查服务器的邮件日志,查看邮件是否实际离开了您的服务器。 (并且要注意显而易见的,请在执行更多操作之前检查您的垃圾邮件箱。)如果mail()
返回TRUE,则仅表示该邮件已被接受传递。并不是说它实际上已经交付了。
答案 1 :(得分:0)
尝试安装并运行PHPMailer,这是一个更彻底的电子邮件系统(免费),如果无法发送电子邮件,也会提供更多信息性的错误响应。
邮件功能众所周知是蹩脚的。您需要在其上获得正确的标题 ,即使这样,它仍然无法作为电子邮件客户端(例如gmail和hotmail)提供,而且大多数其他人使用SFP和FROM地址验证因此,您的发件人地址需要与您发送邮件的服务器的域相同。
检查系统是否正常工作:在接收电子邮件和接收服务器上禁用所有垃圾邮件过滤和捕获系统。检查来自域名与发送域名相同,检查您的垃圾邮件文件夹,检查您的服务器抓取所有电子邮件地址文件夹中的dud /垃圾邮件(通常类似于mail@server.co.uk)。
但最重要的是,使用更好的集成邮件程序,如PHPMailer或SwiftMail。