0

私は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に電子メールは送信されませんでした。何か案は?

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 に答える