PHP Ajax邮件总是失败
我已经创建了一个脚本来发送带有ajax请求的电子邮件。ajax会被执行,但是php邮件函数在发送邮件时总是返回false。所以AJAX if(data==“fail”)get一直都在执行。有人知道为什么吗 php脚本:PHP Ajax邮件总是失败,php,jquery,ajax,email,Php,Jquery,Ajax,Email,我已经创建了一个脚本来发送带有ajax请求的电子邮件。ajax会被执行,但是php邮件函数在发送邮件时总是返回false。所以AJAX if(data==“fail”)get一直都在执行。有人知道为什么吗 php脚本: if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = strip_tags($_POST['naam']); $from = filter_var(trim($_POST["email"]), FILTE
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = strip_tags($_POST['naam']);
$from = filter_var(trim($_POST["email"]), FILTER_SANITIZE_EMAIL);
$subject = strip_tags($_POST['onderwerp']);
$message = strip_tags($_POST['bericht']);
$to = 'someMail@gmail.com';
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: {$name} <{$from}>";
$headers[] = "Reply-To: <{$from}>";
$headers[] = "Subject: {$subject}";
$headers[] = "X-Mailer: PHP/".phpversion();
if (mail($to, $subject, $message, $headers)){
echo 'success';
}else{
echo 'fail';
}
}
您的邮件标题设置不正确。我不知道PHP
mail
能够将数组作为标题,请尝试:mail($to、$subject、$message、introde(\r\n“,$headers))
数据包含字符串'fail':是PHP没有正确执行邮件函数(在false时返回'fail')
$(document).ready(function () {
$('#contactKnop').on('click', function (event) {
event.preventDefault();
var naam = $('#naam').val();
var email = $('#email').val();
var bericht = $('#bericht').val();
var onderwerp = $('#onderwerp').val();
$.ajax({
type: 'POST',
url: 'mail.php',
data: {
naam: naam,
email: email,
onderwerp: onderwerp,
bericht: bericht
},
//datatype: 'json',
beforeSend: function () {
$("div#divLoading").addClass('show');
},
complete: function () {
$("div#divLoading").removeClass('show');
},
success: function (data) {
if (data == "success") {
$('.emailformulier').slideUp(500);
$('#emailResultMessage').addClass('alert alert-success')
$('#emailResultMessage').text('We hebben uw bericht goed ontvangen.');
$('#emailResultMessage').show();
setTimeout(function () {
$("#emailResultMessage").slideUp(500)
}, 1000);
setTimeout(function () {
$("#emailResultMessage").text('')
}, 1500);
}
if (data == "fail") {
$('#emailResultMessage').addClass('alert alert-danger')
$('#emailResultMessage').text('Fout bij het versturen van uw bericht, probeer later opnieuw.');
$('#emailResultMessage').show();
}
},
error: function () {
alert('fout bij het versturen van de email');
}
});
});
});