Foros del Web » Programando para Internet » PHP »

Crear Formulario en el Envio de Correo PHP

Estas en el tema de Crear Formulario en el Envio de Correo PHP en el foro de PHP en Foros del Web. Hola a todos: Vereis, lo que estoy haciendo es enviar un correo electrónico mediante la clase phpmailer. Lo que pasa es que necesito enviar un ...
  #1 (permalink)  
Antiguo 19/10/2009, 11:33
 
Fecha de Ingreso: febrero-2007
Mensajes: 33
Antigüedad: 17 años, 2 meses
Puntos: 0
Crear Formulario en el Envio de Correo PHP

Hola a todos:

Vereis, lo que estoy haciendo es enviar un correo electrónico mediante la clase phpmailer. Lo que pasa es que necesito enviar un formulario con el correo, pero no enviar los datos de un formulario, sino enviar un formulario en si (<form>).

Consigo enviar el correo con el formulario, pero el problema me viene cuando intento hacer el submit del formulario desde el correo electrónico recibido. Con gmail puedo hacerlo bien, pero con otras cuentas como de hotmail no me deja, no hace nada :(((

Podría ayudarme alguien????
  #2 (permalink)  
Antiguo 19/10/2009, 12:05
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Crear Formulario en el Envio de Correo PHP

Hola

puedes colocar tu codigo, la parte en que indicas los parametros a la clase phpmailer y la parte donde construyes el formulario que va ser enviado.

espero tu respuesta.
  #3 (permalink)  
Antiguo 19/10/2009, 16:16
 
Fecha de Ingreso: febrero-2007
Mensajes: 33
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Crear Formulario en el Envio de Correo PHP

Esta es la función que envía el correo electrónico:

Código PHP:
function Enviar($email$nombre$valor1$valor2) {
$mail = new phpmailer();
        
$mail->IsSMTP();
$mail->Host "localhost";
$mail->SMTPAuth false;

$mail->FromName "Midominio.es";
$mail->Subject "Asunto de Prueba";
$mail->AddAddress($email$nombre);
$mail->IsHTML(true);

$cuerpo "<html><head></head><body style='font-family:Arial, Helvetica, sans-serif; font-size:0.9em; text-align:justify'>";
$cuerpo.= "<p><h3 style='color: #DF0000;'>Mensaje de Prueba!</h3></p>";
$cuerpo.= "<form name='formulario' action='destino.php' method='post'><input type='hidden' name='valor1' value='$valor1' /><input type='hidden' name='valor2' value='$valor2' />";
$cuerpo.= "<p>Para enviar el formulario pinche en el boton <input type='submit' name='enviar' value='Enviar Formulario' /></p>";
$cuerpo.= "</form>";
$cuerpo.= "</body></html>";

No hago un include/class.phpmailer.php porque este es incluído en el mismo archivo donde se encuentra esta función.

El correo lo envía correctamente e incluso me muestra el botón Enviar Formulario, pero con algunas cuentas como de hotmail, si pinchas en el botón, no hace nada :((((
  #4 (permalink)  
Antiguo 19/10/2009, 17:12
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 3 meses
Puntos: 46
Respuesta: Crear Formulario en el Envio de Correo PHP

es decir, el envio del mail (desde tu sitio) lo hace correcto, el problema es cuando este se recibe y se intenta CONTESTAR ese formulario desde el servidor a donde fue enviado,

si es asi creo que el problema esta en:
$cuerpo.= "<form name='formulario' action='destino.php' method='post'>

intenta colocando la ruta completa hasta el archivo que indicas en el action
[]http://www.tusitio.com/destino.php[]

prueba con eso, cualquier cosa nos avisas
  #5 (permalink)  
Antiguo 20/10/2009, 01:45
 
Fecha de Ingreso: febrero-2007
Mensajes: 33
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: Crear Formulario en el Envio de Correo PHP

Nada, ya probé con la ruta completa y tampoco me deja contestar el formulario. Con gmail si me deja, me abre un alert indicando: "Te dispones a enviar información a una página externa. ¿Estás seguro de que deseas proceder?", le contesto que si y me manda a la página que indica en el action del formulario, que es lo que yo quiero.
Pero con con otras cuentas nada :((
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:23.