Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2009, 17:20
Avatar de cesarpunk
cesarpunk
 
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
enviar email con xajax

hola , estuve implementando en un formulario de contactos la libreria xajax, pero no he logrado enviar el correo, lo quise probar con la clase phpmailer pero no se si sera valido poner la clase dentro de la funcion xajax... bueno aqui le dejo mi funcion , espeor me puedan ayudar:

Código PHP:
<?php
//***********************CONTACTENOS**************************// 
function validar_email($email) {    
    return 
preg_match('/^(([^<>()[\]\\.,;:\s@"\']+(\.[^<>()[\]\\.,;:\s@"\']+)*)|("[^"\']+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/'$email);
}

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
      
$mensaje $form_entrada["requerimiento"];
      
$mensajeN str_replace("\n","<br>",$mensaje);
      
$fecha_envio date('d/m/Y'time());
      
$fecha_envio htmlentities($fecha_envio);
      
$cuerpo_html 'mi mensaje';

      
$header 'From: ' $form_entrada["email"] . " \r\n";
      
$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
      
$header .= "Mime-Version: 1.0 \r\n";
      
$header .= "Content-Type: text/html";
      
$para '[email protected]';
      
$asunto 'Contacto Web f1lab.com';
      
      if(!
mail($para$asunto$cuerpo_html$header)){
            
$salida "No se pudo enviar su mensaje<br>en estos momentos";
            
$respuesta->Assign("success","innerHTML",$salida);
      }else{
            
$salida 'Su mensaje ha sido enviado<br>con éxito';
              
$respuesta->Assign("success","innerHTML",$salida);
      }  
      
//tenemos que devolver la instanciación del objeto xajaxResponse
   
}
   return 
$respuesta;
}

?>
Hasta ahora he logrado que funcione la validacion de el formulario, pero como repito he tenido problemas al querer enviar el correo, pues no me sale ningun tipo de error... osea cuando presiono el boton de enviar no se ejecuta nada despues del else...
__________________
Quitenme la vida pero no la bebida.