Wordpress AJAX отправка электронной почты - PullRequest
1 голос
/ 06 мая 2011

Я пытаюсь корпоративной отправкой электронной почты перед отправкой формы на странице WordPress. Я могу выполнить часть AJAX и успешно отправить письмо. Однако электронная почта не доставляется на 100%. Интересно, почему?

Это код


    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. 
    }

А это код в 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";
        }
    }
}

С этим кодом я получаю письмо все время. Тем не менее, содержание электронного письма, которое должно быть электронным письмом пользователя, не входит в него все время. Иногда это просто пустой контент.

1 Ответ

2 голосов
/ 11 мая 2011

Как видите, вы делаете:

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

но в вашем php файле вы запрашиваете $_POST['email'] вместо $_POST['donorEmail'];

попробуйте позвонить $_POST['donorEmail'];

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...