AJAX邮件发送

时间:2014-01-03 19:25:17

标签: javascript php jquery ajax

我正试图通过按下按钮的AJAX发送电子邮件:

PHP:

<?php
if($_POST){
    $message = $_POST['msg'];

    mail("mymailbox@gmail.com", "subj!", $message);
}
?>

JS:

(function($) {
    $('.cart__item__send-order').click(function() {
        var data = '&msg=' + 'random text';
        $.ajax({
            type: "POST",
            url: "order_mail.php",
            data: data,
            success: function(){
                console.log('email sent!');
            }
        });
    });
});
}(jQuery));

但没有任何反应!你能帮我找一下它不起作用的原因吗? 顺便说一句,它consoles.log '发送电子邮件!'

2 个答案:

答案 0 :(得分:0)

PHP方面可能有问题,但您构建的数据字符串错误。

var data = '&msg=' + 'random text';

需要

var data = 'msg=' + 'random text';

var data = { msg : 'random text' }; 

答案 1 :(得分:0)

如果您在自己的计算机上工作,则必须激活一些允许您连接到smtp服务器的应用程序,或者您必须安装自己的smtp服务器。如果您不知道如何做到这一点,我建议您使用PHPMailer是一个PHP类,让您连接,例如,谷歌smtp并从那里发送任何邮件

http://phpmailer.worxware.com/

评论,在成功函数中尝试

success: function(response){
console.log(response);
}

用此确认您的PHP代码的响应