我在发送电子邮件时遇到问题,但仅限此代码。我还有其他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");
}
?>
答案 0 :(得分:0)
已解决:在PHP文件$_SESSION['nombre'] $_SESSION['apellido']
帮助我的是控制台->网络,看着它是“内部服务器错误”,所以我认为这应该是服务器端错误。
希望我的错误对某人有所帮助,并感谢@charlietfl