Comunidad de diseño web y desarrollo en internet online

Formulario Flash + PHPMailer

Citar            
MensajeEscrito el 30 Abr 2011 11:51 pm
Buenas tardes.

Por solicitud del proveedor de hosting que normamente uso para los websites de mis clientes tengo que mudar la forma de enviar los formularios de contacto usando la clase PHPMailer.

No tengo mucho conocimiento de PHP asi que lei varios articulos e hize un form usando esa clase pero creo que en algun lado hay algun error.

Los codigos son los siguientes:

BOTON en Flash

Código :

on (release) {
   if (!nombre.length) {
      status = "Por favor, ingrese su nombre";
   } else if (!email.length || email.indexOf("@") == -1 || email.indexOf(".") == -1) {
      status = "E-mail erroneo o incompleto.";
   } else if (!mensaje.length) {
      status = "Escríbanos su mensaje";
   } else {
      status = "Formulario enviado con éxito. En breve le responderemos.";

      envio = new LoadVars();
      envio.onLoad = function(exito) {
         if (exito) {
            trace("recibido correcto");
         } else {
            trace("fallo en el envio");
         }
      };

      envio.nombre = nombre;
      envio.email = email;
      envio.telefono = telefono;
      envio.ciudad = ciudad;
      envio.mensaje = mensaje;
      envio.opcion1 = opcion1;
      envio.opcion2 = opcion2;
      envio.fecha = fecha;
      envio.opcion3 = opcion3;

      envio.sendAndLoad("correo.php",envio,"POST");
   }
}


Archivo correo.php

Código PHP :

<? 
require "includes/class.phpmailer.php"; 
$mail = new phpmailer(); 
$mail->PluginDir = "includes/"; 
$mail->Mailer = "smtp"; 
 
$mail->Host = "mimail.dominio.cl"; 
$mail->SMTPAuth = true; 
$mail->Username = "[email protected]"; 
$mail->Password = "password"; 
$mail->From = "[email protected]"; 
$mail->FromName = "Dominio"; 
 
$mail->Timeout=30; 
$mail->AddAddress("mail@donde_ira_el_correo.cl"); 
 
$nombre=$_POST['nombre']); 
$email=$_POST['email']); 
$telefono=$_POST['telefono']); 
$ciudad=$_POST['ciudad']); 
$mensaje=$_POST['mensaje']); 
$opcion1=$_POST['opcion1']); 
$opcion2=$_POST['opcion2']); 
$fecha=$_POST['fecha']); 
$opcion3=$_POST['opcion3']); 
 
$mail->Subject = "Prueba de phpmailer"; 
$mail->Body = "<b>Llegó un mensaje de $nombre con los siguientes datos: 
Nombre: $nombre 
E-mail: $email 
Teléfono: $telefono 
Ciudad: $ ciudad 
Opcion 1: $opcion1 
Opcion 2: $opcion2 
Fecha: $fecha 
Opcion 3: $opcion3 
 
Mensaje: 
------------------------------------------------------------------- 
$mensaje 
-------------------------------------------------------------------</b>"; 
 
$mail->AltBody = "Mensaje de prueba mandado con phpmailer en formato solo texto"; 
$exito = $mail->Send(); 
$intentos=1; 
while ((!$exito) && ($intentos < 5)) { 
sleep(5); 
//echo $mail->ErrorInfo; 
$exito = $mail->Send(); 
$intentos=$intentos+1; 
} 
if(!$exito) 
{ 
echo "Problemas enviando correo electrónico a ".$valor; 
echo "<br>".$mail->ErrorInfo; 
} 
else 
{ 
echo "Mensaje enviado correctamente"; 
} 
?>


Aclaro que tengo los dos archivos requeridos en una subcarpeta /includes.

Si alguien fuera tan amable de ver por donde esta mi error y poder guiarme a una posible solucion se lo agradeceria. Desde ya, muchas gracias.

Roberto Pontigo

Por Pontigo

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 May 2011 03:11 am
peor que error te marca? ya viste que la configuracion esta bien como puerto, encrytacion ssl, tls , esas cosas? esos datos se lo tienes que pedir a tu proveedor

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 May 2011 12:18 am
La verdad no marca ningun error. Solamente no envia el mail (que lo mando a mi casilla de correos para verificar mientras)

Respecto a lo otro, ni idea, ya que como dije, de PHP es casi nada lo que se, seguí las intrucciones que estaban donde se posteo esa clase del php mailer. Era de un form con html, asi que intuitivamente fui cambiando algunas cosas para mandarlo desde flash.

Igual mañana (Lunes) veré con la gente del hosting a ver si me pueden ayudar a solucionarlo.

Gracias por tu respuesta.

Por Pontigo

6 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 May 2011 01:57 pm
Pues lo único que veo "extraño" es que no llamas al método que le dice a PHPMailer que use la conexión tipo SMTP.

Esta parte:

Código PHP :

$mail->Mailer = "smtp";


Reemplázala por:

Código PHP :

$mail->IsSMTP();


Además aunque no es obligatorio, no estás indicando el puerto al que responde el servidor SMTP, si no lo indicas, por omisión es el 25, pero tu hosting podría estar funcionando en otro puerto, para ello, agrega luego de la línea anterior:

Código PHP :

$mail->Port=25;

Luego lo cambias por el que te diga el hosting.

Otra cosa. Pareces tener un error de sintaxis (repetido varias veces).

Código PHP :

$nombre=$_POST['nombre']);

El paréntesis cerrado al final, sobra, quítalo en todas las líneas similares.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 May 2011 04:33 pm
Gracias DriverOp, ya esta resultando.

Hice los cambios que me señalastes y ya me llego un mail desde el formulario. Ahora voy a intentar descubrir porque no me llega en el formato que le indico, pero en fin, ya vere.

Muchas Gracias.

Por Pontigo

6 de clabLevel



 

firefox

 

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