0

我在 MAC 上运行,我正在尝试将 php 邮件与 ajax 实现一起使用。

我已将代码简化为简化为字符串:

在我的 .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。有任何想法吗?

4

1 回答 1

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')) {
   .....
于 2012-05-15T04:19:59.403 回答