Foros del Web » Programando para Internet » PHP »

En el formulario e-mail el texto llega dos veces

Estas en el tema de En el formulario e-mail el texto llega dos veces en el foro de PHP en Foros del Web. Hola chicos mirad, tengo éste enviar.php, para enviar invitaciones en mi web, ya funciona todo bien, pero cuando llega el e-mail, el texto llega dos ...
  #1 (permalink)  
Antiguo 02/03/2011, 04:24
 
Fecha de Ingreso: febrero-2011
Mensajes: 87
Antigüedad: 13 años, 1 mes
Puntos: 1
En el formulario e-mail el texto llega dos veces

Hola chicos mirad, tengo éste enviar.php, para enviar invitaciones en mi web, ya funciona todo bien, pero cuando llega el e-mail, el texto llega dos veces, por qué?

Código PHP:
<?php
session_start
();
include(
'config.php');
        if(
$_SESSION["logeado"] != "SI"){
        exit(
'Debes estar logueado');
        }
        
        
$id_user $_SESSION["s_username"];
        
$link mysql_connect ($dbhost$dbusername$dbuserpass);
        
mysql_select_db($dbname,$link);
        
$queEmp "SELECT * FROM invitacion WHERE de='$id_user'";
        
$resEmp mysql_query($queEmp$link) or die(mysql_error());
        
$totEmp mysql_num_rows($resEmp);
        if(
$totEmp == 2){ // EDITA EL NUMERO DE ESTA LINEA PARA CAMBIAR LAS INVITACIONES POR USUARIO
        
exit('No te quedan invitaciones');
        }
        
        
$ale rand(1,1000000);
        
$hash md5($ale);
        
// Para que ande este código php tienen que tener el hosting activado la funcion mail() activada
$nombre $_POST['nombre'];
$web $_POST['web'];
$mail $_POST['email'];
$mensaje $_POST['mensaje'];
$headers 'From: [email protected]"\r\n" .
# Esto es lo que va a aparecer en el mail cuando te llega
$message "El usuario ".$id_user." te ha invitado a formar parte de nuestra web

Ahora ya puedes registrarte, para ello pulsa el link que aparece aquí debajo.

¡Gracias!

http://www.miweb.com/validar.php?hash="
.$hash."&mail=".$mail
# Cambiar Formulario de Consulta por el asunto del mail, ejemplo: contacto desde mi web
if (mail($mail,"Invitacion",$message,$headers))
header('Location: gracias.html');

mysql_query("INSERT INTO invitacion (de,para,hash,valido)
        VALUES ('"
.$id_user."','".$mail."','".$hash."','true')",$link) or die('No se pudo conectar a la base de datos');
echo 
"TODO OK";
?>
A ver si alguien me dice por qué llega dos veces
  #2 (permalink)  
Antiguo 02/03/2011, 05:36
 
Fecha de Ingreso: enero-2011
Mensajes: 15
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: En el formulario e-mail el texto llega dos veces

Prueba haciendo un archivo más básico, que solo mande un mail y así acotas donde puede estar el problema, que a lo mejor es del servidor SMTP.
  #3 (permalink)  
Antiguo 02/03/2011, 05:44
 
Fecha de Ingreso: febrero-2011
Mensajes: 87
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: En el formulario e-mail el texto llega dos veces

Cita:
Iniciado por oi_burle Ver Mensaje
Prueba haciendo un archivo más básico, que solo mande un mail y así acotas donde puede estar el problema, que a lo mejor es del servidor SMTP.
Sin el $headers llega bien, pero no me sirve porque llega como si fuera de CGI-Mailer.

Y con el $headers llega con el nombre que yo quiero, pero el texto doble :S
  #4 (permalink)  
Antiguo 02/03/2011, 05:59
 
Fecha de Ingreso: enero-2011
Mensajes: 15
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: En el formulario e-mail el texto llega dos veces

Cita:
Iniciado por Kromikos Ver Mensaje
Sin el $headers llega bien, pero no me sirve porque llega como si fuera de CGI-Mailer.

Y con el $headers llega con el nombre que yo quiero, pero el texto doble :S
Yo del tema de los $headers no tengo mucha idea, pero de los ejemplos que estuve mirando lo hice asi:

Código PHP:
$headers "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From:Yo <[email protected]>\r\n"
ya te digo, no he profundizado mucho en los $headers, pero asi a mi me va bien.

Saludos
  #5 (permalink)  
Antiguo 02/03/2011, 06:00
 
Fecha de Ingreso: febrero-2011
Mensajes: 87
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: En el formulario e-mail el texto llega dos veces

Cita:
Iniciado por oi_burle Ver Mensaje
Yo del tema de los $headers no tengo mucha idea, pero de los ejemplos que estuve mirando lo hice asi:

Código PHP:
$headers "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From:Yo <[email protected]>\r\n"
ya te digo, no he profundizado mucho en los $headers, pero asi a mi me va bien.

Saludos
Lo pongo así tres veces?
  #6 (permalink)  
Antiguo 02/03/2011, 06:02
 
Fecha de Ingreso: enero-2011
Mensajes: 15
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: En el formulario e-mail el texto llega dos veces

Por cierto, que servidor SMTP estas usando para tus pruebas???, yo usaba FreeSMTP, pero lo desistalé para probar la version de pago (ya que solo me permitía 10 emails al día) y al caducar la versión del preuba y volver a instalar el free no me conecta.
  #7 (permalink)  
Antiguo 02/03/2011, 06:04
 
Fecha de Ingreso: enero-2011
Mensajes: 15
Antigüedad: 13 años, 2 meses
Puntos: 0
Respuesta: En el formulario e-mail el texto llega dos veces

Cita:
Iniciado por Kromikos Ver Mensaje
Lo pongo así tres veces?
si, no es que lo pongas tres veces, es que son cabezeras distintas, le estas diciendo el tipo de texto que es, la persona que lo envía..., toda esa informacíon y más se puede almacenar en $headers.
  #8 (permalink)  
Antiguo 02/03/2011, 06:06
 
Fecha de Ingreso: febrero-2011
Mensajes: 87
Antigüedad: 13 años, 1 mes
Puntos: 1
Respuesta: En el formulario e-mail el texto llega dos veces

Cita:
Iniciado por oi_burle Ver Mensaje
Por cierto, que servidor SMTP estas usando para tus pruebas???, yo usaba FreeSMTP, pero lo desistalé para probar la version de pago (ya que solo me permitía 10 emails al día) y al caducar la versión del preuba y volver a instalar el free no me conecta.
Ni idea, yo estoy en www.1and1.es, es de pago claro.

Otra cosa, me ha funcionado lo que tu me has dicho, solo que...

Ahora el texto del e-mail me sale todo junto, sin intros ni nada

EDITO: ¡POR FÍN!

Ya he podido hacerlo, sólo poniendo ésto de $headers:

Código PHP:
$headers .= "From:Yo <[email protected]>\r\n"

Última edición por Kromikos; 02/03/2011 a las 06:12

Etiquetas: dos, e-mail, llega, formulario
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 05:42.