ajaxified php邮件无法正常工作

时间:2012-05-15 03:54:27

标签: php jquery html ajax html5

我在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发送电子邮件。有任何想法吗?

1 个答案:

答案 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')) {
   .....