Código PHP:
@require_once('tools/xajax/xajax_core/xajax.inc.php');
require ('tools/libreria.lib.php');
require('tools/captcha/recaptchalib.php');
require_once ('tools/mail/class.phpmailer.php');
//Declaraciones de ajax
$xajax = new xajax();
$_MAIL = new PHPMailer();
$xajax->register(XAJAX_FUNCTION, 'checkcaptcha');
//$xajax->setFlag('debug', True);
$xajax->processRequest();
function EnviaMail($Datos) {
global $_MAIL;
$_Error_ = FALSE;
//Se instancia la clase mail
$_MSJ='';
$_DE_=$Datos['email'];
$_PARA_='[email protected]';
$_Fecha = date('d/m/Y h:i a');
$_MAIL->Host='servidor-smtp';
$_MAIL->Port =26;
$_MAIL->IsSMTP();
$_MAIL->SMTPAuth = TRUE;
$_MAIL->SMTPDebug = true;
$_MAIL->CharSet='UTF-8';
$_MAIL->IsHTML(TRUE);
$_MAIL->Username='[email protected]';
$_MAIL->Password='pasword';
//Se crea el cuerpo del correo
$_MAIL->setFrom($_DE_,$Datos['nombre']);
$_MAIL->AddAddress($_PARA_,'Reservaciones');
$_MAIL->Subject= 'Reservación desde página';
//Se crea el mensaje
$_MSJ = '<h3>Solicitud de Reservación desde WEB</h3>';
$_MSJ .= '<p>';
$_MSJ .= '<b>Fecha de envio:</b> '.$_Fecha."<br/> ";
$_MSJ .= '<b>Nombre:</b> '.$Datos['nombre']."<br/> ";
$_MSJ .= '<b>Email:</b> '.$Datos['email']."<br/> ";
$_MSJ .= '<b>Día de llegada:</b> '.$Datos['dia_llegada'].' de '.$Datos['mes_llegada']."<br/> ";
$_MSJ .= '<b>Día de salida:</b> '.$Datos['dia_salida'].' de '.$Datos['mes_salida']."<br/> ";
$_MSJ .= '<b>Información adicional:</b><br/>'.$Datos['comentarios']."<br/><br/><br/> ";
$_MAIL->Body=$_MSJ;
//Se envia
if(!$_MAIL->Send()){
//Ocurrio un error
$_Error_ = TRUE;
}
return $_Error_;
}
//Declaración de funciones
function checkcaptcha($Datos){
$obj = new xajaxResponse();
//Se limpia campo de error
$obj->clear('error','innerHTML');
//Se validan los datos a enviar
$_Error=FALSE;
$_MSJ='';
if (empty($Datos['nombre']) || ValidaNombre(utf8_decode($Datos['nombre'])) == FALSE){ $_Error = TRUE; $_MSJ='Debe indicar un nombre';}
elseif(empty ($Datos['email']) || ValidaEmail(utf8_decode ($Datos['email'])) == FALSE){ $_Error = TRUE; $_MSJ = 'Debe indicar su dirección de correo;';}
elseif(empty($Datos['dia_llegada']) || ValidaNumeros($Datos['dia_llegada']) == FALSE){ $_Error = TRUE; $_MSJ = 'Seleccione el día de llegada';}
elseif(empty($Datos['mes_llegada']) || ValidaNombre($Datos['mes_llegada']) == FALSE){ $_Error = TRUE; $_MSJ = 'Seleccione un mes de llegada'; }
elseif(empty ($Datos['dia_salida']) || ValidaNumeros($Datos['dia_salida']) == FALSE){$_Error = TRUE; $_MSJ = 'Seleccione un día de llegada'; }
elseif(empty($Datos['mes_salida']) || ValidaNombre($Datos['mes_salida']) == FALSE){ $_Error= TRUE; $_MSJ = 'Seleccione un mes de salida'; }
elseif(!empty ($Datos['comentarios']) && ValidaTexto($Datos['comentarios']) == FALSE){ $_Error = TRUE; $_MSJ = 'Verifique su comentario'; }
if($_Error==TRUE){
$obj->assign('error','innerHTML',$_MSJ);
}else{//Se procesa la informacion y se envia el correo con los datos al establecimieto y uno de respuesta al visitante
if(EnviaMail($Datos)==TRUE){
//Ocurrio un error y no se envio el correo
$_MSJ = 'Ocurrio un error no se envio';
}else{
//Todo paso bien se enviaron los datos
$_MSJ = 'Se envio';
}
$obj->assign('error','innerHTML',$_MSJ);
}//Fin envio de correo a reservacion
return $obj;
}