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);
?>
Código PHP:
<?php
include(bottom);
?>
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($file, filesize($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>");
}
}
?>
He probado a ponerlo en otro fichero y hacer
Código PHP:
include_once()
Agradecería alguna explicación
Salu2!