Проблемы при отправке электронных писем на PHP-посте javascript - PullRequest
0 голосов
/ 15 апреля 2019

У меня проблемы с отправкой электронной почты, но только по этому коду.У меня есть другие php, отправляющие электронные письма, но это единственный, который называется AJAX.Может ли быть асинхронная проблема?

Кроме того, я попытался добавить эхо 'console.log ("оно внутри");';в файле php, но он никогда не срабатывает.Также в консоли из браузера не отображается никаких ошибок.

Я не в курсе.

Я добавил возврат к php, но это не решило проблему.

function addTurno() { 
    var vnombre = $("#updt_nombrep").val();
    var vapellido = $("#updt_apellidop").val();
    var vnombrecompleto = vnombre + " " + vapellido;
    var vdesosocial = $("#updt_osocialp").val();
    var email_p = $("#updt_emailp").val();
    var email_n = $("#hidden_emailn").val();
    var vtexto = $("#updt_texto").val();
    var vedad = $("#updt_agep").val();
    var vfechac = $("#turno_datepicker").val();
    var vhordes = $("#turno_timepickerd").val();
    var vhorhas = $("#turno_timepickerh").val();
    var vidnutri = $("#hidden_id_nutri").val();
    var T = 'T';
    var resto = '-07:00';
    var vfechad;
    var vfechah;

    var vgcalendar = $("#hidden_updt_glink").val();

    var ano = vfechac.substr(6, 4);
    var mes = vfechac.substr(3, 2);
    var dia = vfechac.substr(0, 2);
    var vfechacedit = ano+'-'+mes+'-'+dia;

    vfechad = vfechacedit.concat(T, vhordes, resto );
    vfechah = vfechacedit.concat(T, vhorhas, resto );


    enviaEmail(vidnutri, vnombre, vapellido, vfechac, email_p, email_n, vtexto, vhordes, vhorhas );
    guardaTurnoGoogle(vgcalendar,vfechad,vfechah,email_n,email_p,vnombrecompleto,vtexto ) ;

}

function enviaEmail(vidnutri,vnombre, vapellido, vfechac, email_p, email_n, vtexto, vhordes, vhorhas ){
    $.ajax({
      type: 'POST',
      url: "ajax/sendEmailTurno.php",
      data: { 
        vidnutri : vidnutri,
        vnombre: vnombre, 
        vapellido: vapellido, 
        vfechac: vfechac, 
        email_p: email_p, 
        email_n: email_n, 
        vtexto: vtexto, 
        vhordes: vhordes,
        vhorhas: vhorhas
        },
      success: function(data, status){
        console.log("Email enviado correctamente");
        },
      async:false
    }); 
}
<?php
    session_start();
    $emaipaciente = $_POST['email_p'];

    if(isset($_SESSION["id"]) && isset($_POST["vidnutri"]) ){

        if ( $_POST["vidnutri"] == $_SESSION["id"] ) {

            $subject = "Turno con Nutricionista";
            $from = "From: ". $_POST['email_n'];
            $from .= "MIME-Version: 1.0\r\n";
            $from .= "Content-type: text/html\r\n";
            $message =
            "
            Estimado" . $_POST['vnombre'] . " " . $_POST['vapellido']. ",
            Recuerde que el " . $_POST['vfechac']. " tiene turno desde las " . $_POST['vhordes']. " hasta las " . $_POST['vhorhas']. " con la nutricionista" . $_SESSION['nombre'] $_SESSION['apellido']. " matrícula " . $_SESSION['matricula'] . ".

            ". $_POST['vtexto']. "

            Gracias, saludos.
            ";

            return mail($emaipaciente,$subject,$message,$from);

        }else{
            $_SESSION['mess'] = 'Error de sesión: logueado en múltiples cuentas?';
            header("Location: ./index.php?modo=TerminarSesion");
        }

    }else{
        $_SESSION['mess'] = 'Error de sesión: no logueado';
        header("Location: ./index.php?modo=TerminarSesion");
    }

?>

1 Ответ

0 голосов
/ 16 апреля 2019

Решено: отсутствующая точка (конкатенация) в файле PHP: $_SESSION['nombre'] $_SESSION['apellido']

Что помогло мне, так это консоль -> сеть, когда я увидел, что это «Внутренняя ошибка сервера», поэтому я подумал, что это должна быть ошибка на стороне сервера.

Надеюсь, моя ошибка кому-то поможет, и спасибо @ charlietfl

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