Código PHP:
function procesar_contacto($form_entrada){
//creo el xajaxResponse para generar una salida
$respuesta = new xajaxResponse();
$respuesta->setCharacterEncoding('ISO-8859-1');
//validación
$error_form = "";
if ($form_entrada["nombre"] == ""){
$error_form = "* Debe escribir su nombre";
$marca = "focus1";}
elseif ($form_entrada["postal"] == ""){
$error_form = "* Debe escribir su nº postal";
$marca = "focus2";}
elseif ($form_entrada["telefono"] == ""){
$error_form = "* Debe escribir su teléfono";
$marca = "focus3";}
elseif ($form_entrada["email"] == ""){
$error_form = "* Debe escribir su e-mail";
$marca = "focus4";}
elseif (!validar_email($form_entrada["email"])){
$error_form = "* El e-mail es invalido";
$marca = "focus4";}
elseif ($form_entrada["requerimiento"] == ""){
$error_form = "* Debe escribir sus requerimientos";
$marca = "focus5";}
//compruebo resultado de la validación
if ($error_form != ""){
//Hubo un error en el formulario
//en la capa donde se muestran mensajes, muestro el error
$respuesta->Assign("alert","innerHTML","<span style='color:red;'>$error_form</span>");
$respuesta->Assign("focus1","innerHTML","");
$respuesta->Assign("focus2","innerHTML","");
$respuesta->Assign("focus3","innerHTML","");
$respuesta->Assign("focus4","innerHTML","");
$respuesta->Assign("focus5","innerHTML","");
$respuesta->Assign($marca,"innerHTML","<span style='color:red; font-size:10px;'>*</span>");
}else{
$salida = '<img src="images/sending.gif" width="16" height="16" />';
$respuesta->Assign("success","innerHTML",$salida);
//formateamos datos
$mensajeN = str_replace("\n","<br>",$mensaje);
$fecha_envio = date('d/m/Y', time());
$fecha_envio = htmlentities($fecha_envio);
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "mail.f1lab.com";
$mail->Port=26;
$mail->CharSet = "utf-8";
$mail->SMTPAuth = true;
$mail->Username = "xxx";
$mail->Password = "xxx";
$mail->From = $form_entrada["email"];
$mail->FromName = $form_entrada["nombre"];
$mail->Subject = "Contacto web xxxx";
$mail->AddAddress("xxxx","xxxx");
$mail->Body = '<table>mi mensaje diseñado</table>';
if ($mail->Send()) {
$salida = 'Su mensaje ha sido enviado<br>con éxito';
$respuesta->Assign("success","innerHTML",$salida);
} else {
$salida = "No se pudo enviar su mensaje<br>en estos momentos".$mail->ErrorInfo;
$respuesta->Assign("success","innerHTML",$salida);
}
//tenemos que devolver la instanciación del objeto xajaxResponse
}
return $respuesta;
}