我在MAC上运行,我正在尝试使用带有ajax实现的php邮件。
我已将代码简化为简化为字符串:
在我的.js文件中:
function ajaxMail2() {
$('#sending').show();
$.ajax({
type:'POST',
url:'ajax/mail.php',
success:function(data, status) {
$('#sending').hide();
$('#success').fadeIn(1000,function() {
//$(this).delay(200).fadeOut(1000);
});
},
error:function(data, status, e) {
$('#sending').hide();
$('#fail').fadeIn(1000,function() {
$(this).delay(200).fadeOut(1000);
});
}
});
}
和我的.php文件:
<?php
$to = 'foo@gmail.com';
mail($to,'test','test');
?>
提交表单后,它会转到成功函数,但没有向$ to发送电子邮件。有任何想法吗?
答案 0 :(得分:0)
<?php
$to = 'foo@gmail.com';
if(mail($to,'test','test')) {
echo "sent";
}
else {
echo "error";
}
exit;
?>
和你的js
.....
success:function(data, status) {
if("sent" == data) {
$('#sending').hide();
$('#success').fadeIn(1000,function() {
//$(this).delay(200).fadeOut(1000);
});
}
else {
alert("Could not send mail");
}
},
这样你可以检查邮件是否已发送
不确定这是否解决了您的问题,但尝试添加标题:
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'To: Someone <foo@gmail.com>' . "\r\n";
$headers .= 'From: Me <my@mail.com>' . "\r\n";
$to = 'foo@gmail.com';
if(mail($to,'test','test')) {
.....