Foros del Web » Programando para Internet » PHP »

Funcion mail() me envio dos mail

Estas en el tema de Funcion mail() me envio dos mail en el foro de PHP en Foros del Web. Hola a todos Tengo esta funcion que envia emails, pero el problema que tengo es que siempre me envia dos mail al destinatario cuando deberia ...
  #1 (permalink)  
Antiguo 25/12/2005, 11:26
 
Fecha de Ingreso: agosto-2001
Ubicación: Gran Canaria (España)
Mensajes: 430
Antigüedad: 22 años, 8 meses
Puntos: 0
Funcion mail() me envio dos mail

Hola a todos

Tengo esta funcion que envia emails, pero el problema que tengo es que siempre me envia dos mail al destinatario cuando deberia de enviar solo uno.
Aqui les dejo el codigo a ver si pueden echarme una maano
Mil gracias desde ya.
Código PHP:
function enviarmail ($destinatario$sunombre$suemail$titulo$mensaje)
{
     
//para el envío en formato HTML 
     
$headers "MIME-Version: 1.0\r\n"
        
$headers .= "Content-type: text/html; charset=iso-8859-1; format=flowed\r\n"
        
$headers .= "From: ".$sunombre." <".$suemail.">\r\n"
        
$headers .= "To: ".$destinatario." <".$destinatario.">\r\n"
        
$headers .= "Reply-To: ".$sunombre." <".$suemail.">\r\n"
        
$headers .= "X-Priority: 1\r\n"
        
$headers .= "X-MSMail-Priority: High\r\n"
        
$headers .= "X-Mailer: Just My Server";      
        
     return (
mail($destinatario,$titulo,utf8_decode($mensaje),$headers));

  #2 (permalink)  
Antiguo 25/12/2005, 11:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Yo no suelo usar la función mail dentro de un return...

Pruébalo sin el return y nos lo cuentas...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 25/12/2005, 11:56
 
Fecha de Ingreso: agosto-2001
Ubicación: Gran Canaria (España)
Mensajes: 430
Antigüedad: 22 años, 8 meses
Puntos: 0
Hola caricatos

Gracias por tu respuesta, pero no entiendo bien... sino incluyo el return dentro de la funcion no envia el mail no?

Gracias
  #4 (permalink)  
Antiguo 25/12/2005, 12:40
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Bueno, yo lo suelo poner así:

Código:
function enviarmail ($destinatario, $sunombre, $suemail, $titulo, $mensaje) 
{ 
     //para el envío en formato HTML  
     $headers = "MIME-Version: 1.0\r\n";  
        $headers .= "Content-type: text/html; charset=iso-8859-1; format=flowed\r\n";  
        $headers .= "From: ".$sunombre." <".$suemail.">\r\n";  
        $headers .= "To: ".$destinatario." <".$destinatario.">\r\n";  
        $headers .= "Reply-To: ".$sunombre." <".$suemail.">\r\n";  
        $headers .= "X-Priority: 1\r\n";  
        $headers .= "X-MSMail-Priority: High\r\n";  
        $headers .= "X-Mailer: Just My Server";       
         
     mail($destinatario,$titulo,utf8_decode($mensaje),$headers); 
}
Y los correos los envía bien...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 25/12/2005, 17:48
 
Fecha de Ingreso: agosto-2001
Ubicación: Gran Canaria (España)
Mensajes: 430
Antigüedad: 22 años, 8 meses
Puntos: 0
Hola de nuevo caricatos

Gracias por la respuesta, lo he puesto como me has indicado pero sigue enviando dos veces el mismo mail...
  #6 (permalink)  
Antiguo 25/12/2005, 19:12
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Creo que tu problema es que estás poniendo 2 veces el destinatario:
una en el to de la función mail y otra en las cabeceras (headers).
Saludos.
  #7 (permalink)  
Antiguo 25/12/2005, 21:03
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
No sé por qué haces una función. ¿Por qué no usas mail() directamente? Yo hago eso y puedo escribir HTML igualmente en el cuerpo del mensaje...

Esquema:

Código PHP:
    mail("$destinatario",
         
"$titulo",
         
"utf8_decode($mensaje)",
          
"From: $sunombre <$suemail>"); 
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 20:45.