Wordpress AJAX发送电子邮件

I'm trying to corporate sending email before submitted the form in wordpress page. I'm able to do the AJAX part and send email successfully. However, the email is not 100% delivered. I wonder why?

This is the code

    var data = {};
    data.donorEmail = $("#email").val();
    data.action = "mail_action";
    $("#donorSubmit").click(function(e){
        $.post('http://www.myurl.com/wp-admin/admin-ajax.php',data, onSuccess);
    });

    function onSuccess(results)
    {
        if( results == "00")
            document.forms['donorForm'].submit() // After the email is sent then submit the form to another website. 
    }

And this is the code in functions.php

add_action('wp_ajax_mail_action', 'sending_mail');
add_action('wp_ajax_nopriv_mail_action', 'sending_mail');

function sending_mail(){
    if(isset($_POST['email']))
    {
        $to = "myemail@mydomain.com";
        $subject = "Donation";
        $message = $_POST['email']; 

        if(mail($to, $subject, $message))
        {
            echo "0";
        }
    }
}

With this code I receive the email all the time. However, the content of the email which should be the email of user doesn't come with the email all the time. Sometime it's just a blank content.

As you see you make:

vardata = {'donorEmail':$('#email').val(),'action':'mail_action' };

but in your php file you request the $_POST['email'] instead of $_POST['donorEmail'];

try calling $_POST['donorEmail'];