Comunidad de diseño web y desarrollo en internet online

cambiar a PHPMailer

Citar            
MensajeEscrito el 28 Abr 2010 12:19 pm
Hola. Tengo un problema que creo que es sencillo pero no puedo solucionar. Tengo una web con un formulario de envio de correo que siempre me ha funcionado sin problema. Este es el codigo AS2:

Código ActionScript :

enviar = function () {
   // si se debe enviar algun campo mas como obligatorio hay que añadirle a la siguiente linea
   if (nombre_txt.length && email_txt.length) {
      correoCorrecto = true;
      if (email_txt.length == 0) {
         correoCorrecto = false;
         // una direccion de correo es del estilo de: "[email protected]"
         // lo que comprueba para ver si la direccion es correcta, es si tiene una "@" y un "."
         // esto lo hace con la funcion "indexOf" que me da la posicion del caracter buscado
         // indexOf si no encuentre el caracter devuelve "-1" si lo encuentra, devuelve la posicion del caracter dentro
         // de la cadena, en el ejemplo anterior seria: 9
      } else if (email_txt.text.indexOf("@") != -1 && email_txt.text.indexOf(".") != -1) {
         correoCorrecto = true;
      } else {
         respuesta_txt.text = "Correo no valido. Inserte una direccion de correo correcta";
         //email_txt.text="";
         correoCorrecto = false;
         return;
      }
      if (correoCorrecto) {
         form_lv = new LoadVars();
         // mete los datos que se van a enviar
         // NOMBRE
         form_lv.nombre = nombre_txt.text;
         // asunto
         form_lv.asunto = asunto_txt.text;
         // empresa
         form_lv.empresa = empresa_txt.text;
         // domicilio
         form_lv.domicilio = domicilio_txt.text;
         // ciudad
         form_lv.ciudad = ciudad_txt.text;
         // PROVINCIA
         form_lv.provincia = provincia_txt.text;
         // cp
         form_lv.cp = cp_txt.text;
         // PAIS
         form_lv.pais = pais_txt.text;
         // TELEFONO
         form_lv.telefono = telefono_txt.text;
         // email
         form_lv.email = email_txt.text;
         // COMENTARIOS
         form_lv.comentarios = comentarios_txt.text;
         // se envian los datos
         form_lv.sendAndLoad("send.php", form_lv, "POST");
         respuesta_txt.text = "Enviando Mensaje..";
         gotoAndStop("gracias");
         // borra los datos para simular que se han enviado
         nombre_txt.text = "";
         asunto_txt.text = "";
         empresa_txt.text = "";
         domicilio_txt.text = "";
         ciudad_txt.text = "";
         provincia_txt.text = "";
         cp_txt.text = "";
         pais_txt.text = "";
         telefono_txt.text = "";
         email_txt.text = "";
         comentarios_txt.text = "";
         respuesta_txt.text = "";
         form_lv.onLoad = function() {
            trace("LLEGO");
            if (this.estatus == "ok") {
               respuesta_txt.text = "Su mensaje fue enviado...";
               // borra 
               nombre_txt.text = "";
               asunto_txt.text = "";
               empresa_txt.text = "";
               domicilio_txt.text = "";
               ciudad_txt.text = "";
               provincia_txt.text = "";
               cp_txt.text = "";
               pais_txt.text = "";
               telefono_txt.text = "";
               fax_txt.text = "";
               email_txt.text = "";
               comentarios_txt.text = "";
            } else {
               respuesta_txt.text = "Problemas con el servidor. Intentelo de nuevo";
            }
         };
      }
      // si alguno de los campos obligatorios no se ha rellenado      
   } else {
      nombre_txt.text = "Dato obligatorio";
      email_txt.text = "Dato obligatorio";
      respuesta_txt.text = "Rellene los datos obligatorios para poder enviar el formulario";
   }
};
borrar = function () {
   nombre_txt.text = "";
   asunto_txt.text = "";
   empresa_txt.text = "";
   domicilio_txt.text = "";
   ciudad_txt.text = "";
   provincia_txt.text = "";
   cp_txt.text = "";
   pais_txt.text = "";
   telefono_txt.text = "";
   fax_txt.text = "";
   email_txt.text = "";
   comentarios_txt.text = "";
   respuesta_txt.text = "";
};
enviar_btn.onRelease = enviar;
borrar_btn.onRelease = borrar;


y este el PHP:

Código PHP :

<title>Formulario</title><?php
if(isset($_POST["nombre"]) && isset($_POST["telefono"]) ){
  $fecha = date("D-M-y H:i");
  
    $mymail = "[email protected]";
   
    $subject = "".$_POST["asunto"];
   
   $contenido = "\nRemitente: ".$_POST["nombre"]."\n";
   $contenido .= "Asunto: ".$_POST["asunto"]."\n";
    $contenido .= "Empresa: ".$_POST["empresa"]."\n";
    $contenido .= "Domicilio: ".$_POST["domicilio"]."\n";
    $contenido .= "Ciudad: ".$_POST["ciudad"]."\n";
    $contenido .= "Provincia: ".$_POST["provincia"]."\n";
    $contenido .= "Codigo postal: ".$_POST["cp"]."\n";
    $contenido .= "Pais: ".$_POST["pais"]."\n";
   $contenido .= "Fax: ".$_POST["fax"]."\n";
    $contenido .= "Telefono: ".$_POST["telefono"]."\n";
    $contenido .= "Email: ".$_POST["email"]."\n\n";
    $contenido .= "Comentarios: ".$_POST["comentarios"]."\n\n";
    $contenido .= "El mensaje se escribio el :".$fecha;

   
    $header = "From:".$_POST["email"]."\nReply-To:".$_POST["email"]."\n";   
    $header .= "X-Mailer:PHP/".phpversion()."\n";
    $header .= "Mime-Version: 1.0"."\n";
    $header .= "Content-Type: text/plain";
   
   
    mail($mymail, $subject, utf8_decode($contenido) ,$header);
   
    echo "&estatus=ok&";
}
?>



Como digo siempre me han funcionado bien, pero ahora han cambiado algo en el servidor y ahora solo me dejan usar PHPMailer. He buscardo y hay mil tutoriales y ejemplos en internet para hacer formularios que combinen Flash con el PHPMailer, pero preferiria no tener que empezar de cero y simplemente modificar el mio, que no creo que haya que hacer mucho cambio. Si me pudierais echar un cable...

Por annna

46 de clabLevel



 

firefox
Citar            
MensajeEscrito el 29 Abr 2010 10:31 am
por lo que he podido investigar el problema debe de estar en esta linea:

Código ActionScript :

form_lv.sendAndLoad("send.php", form_lv, "POST"); 


imagino que para PHPMailer tendré que enviarlo de otra manera, no sé?. El PHP creo que está bien porque si lo uso sólo funciona.

Por annna

46 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.