Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/08/2009, 10:51
Avatar de Samie
Samie
 
Fecha de Ingreso: mayo-2009
Mensajes: 27
Antigüedad: 15 años
Puntos: 2
Error en función mail():se envia 2 veces

Hola amigos, tengo un pequeño problema.

Tengo un código que lo que hace es recibir la ruta de un archivo por parametro URL y lo envía a una dirección de correo electrónico que tambien recibe.
Ese código está insertado entre un

Código PHP:
<?php
include(cabecera);
?>
y un

Código PHP:
<?php
include(bottom);
?>
Además, tiene código HTML (de estilos principalmente).

El caso es que al ejecutarse el archivo envía dos y hasta tres veces el mismo email.

El caso es que si elimino todo lo que no es ese código de envío, me funciona bien y lo envía una vez.
¿Por que se debe esto?

Aquí adjunto el código de envío:
Código PHP:
<?php
$archivo 
=    $_GET[archivo];
$emailDestino =    $_GET[emailDestino];
$emailUsuario =    $_GET[emailUsuario];
$texto =    $_GET[texto];
$nombre=$_GET[nombre];

if (isset(
$_GET['nombre'])) {



    echo(
$texto);
    
$renombrado=archivo;
    
rename($archivo$renombrado); 
    
$file fopen(archivo"r");

    
$contenido fread($filefilesize($renombrado));
    
$encoded_attach chunk_split(base64_encode($contenido));
    
fclose($file);

    if ((
$nombre!="")||(strlen($nombre)>1)){

        
$asunto$nombre .", le han enviado una tarjeta!";
    }
    else{
        
$asunto="Alguien le ha enviado una tarjeta!";
    }
    
    
$email=$emailDestino;
    
$mensaje=str_replace("<br />","\n",$texto) . "\n\n\n\r===================================================================
texto
==================================================================="
;

    
$cabeceras "From: LogoSea <email>\n";
    
$cabeceras .= "Reply-To: $email\n";
    
$cabeceras .= "MIME-version: 1.0\n";
    
$cabeceras .= "Content-type: multipart/mixed; ";
    
$cabeceras .= "boundary=\"Message-Boundary\"\n";
    
$cabeceras .= "Content-transfer-encoding: 7BIT\n";
    
$cabeceras .= "X-attachments: ".$renombrado;
    
    
$body_top "--Message-Boundary\n";
    
$body_top .= "Content-type: text/plain; charset=US-ASCII\n";
    
$body_top .= "Content-transfer-encoding: 7BIT\n";
    
$body_top .= "Content-description: Mail message body\n\n";

    
$cuerpo $body_top.$mensaje;

    
$nombref=$archivo;
    
$cuerpo .= "\n\n--Message-Boundary\n";
    
$cuerpo .= "Content-type: Binary; name=\"$nombref\"\n";
    
$cuerpo .= "Content-Transfer-Encoding: BASE64\n";
    
$cuerpo .= "Content-disposition: attachment; filename=\"$nombref\"\n\n";
    
$cuerpo .= "$encoded_attach\n";
    
$cuerpo .= "--Message-Boundary--\n";

    
$valorDevuelto mail($email,$asunto,$cuerpo,$cabeceras);  


    if (
$valorDevuelto){
        echo 
" ";
    }
    else{
        echo 
"No :¡ ";
    }

    if (!
unlink($renombrado)){
        echo 
'no se pudo borrar el archivo :'.$renombrado;
    }
    else{
        echo(
"<h2>La imágen ha sido enviada satisfactoriamente. </h2>");
    
    }
    
}    
?>
Es como si se recargara más de una vez la página.
He probado a ponerlo en otro fichero y hacer
Código PHP:
include_once() 
pero nada.
Agradecería alguna explicación
Salu2!