Buenas, tengo el siguiente código:
Código PHP:
Ver original<?php
function form_mail($Para, $Asunto, $Texto, $De)
{
$bHayFicheros = 0;
$CabeceraTexto = "";
$Adjuntos = "";
if ($De)$Cabeceras = "From:".$De."\n";
else $Cabeceras = "";
$Cabeceras .= "MIME-version: 1.0\n";
foreach ($_POST as $Nombre => $Valor)
$Texto = $Texto."\n".$Nombre." = ".$Valor;
foreach ($_FILES as $vAdjunto)
{
if ($bHayFicheros == 0)
{
$bHayFicheros = 1;
$Cabeceras .= "Content-type: multipart/mixed;";
$Cabeceras .= "boundary=\"--_Separador-de-mensajes_--\"\n";
$CabeceraTexto = "----_Separador-de-mensajes_--\n";
$CabeceraTexto .= "Content-type: text/plain;charset=iso-8859-1\n";
$CabeceraTexto .= "Content-transfer-encoding: 7BIT\n";
$Texto = $CabeceraTexto.$Texto;
}
if ($vAdjunto["size"] > 0)
{
$Adjuntos .= "\n\n----_Separador-de-mensajes_--\n";
$Adjuntos .= "Content-type: ".$vAdjunto["type"].";name=\"".$vAdjunto["name"]."\"\n";;
$Adjuntos .= "Content-Transfer-Encoding: BASE64\n";
$Adjuntos .= "Content-disposition: attachment;filename=\"".$vAdjunto["name"]."\"\n\n";
$oFichero = fopen($vAdjunto["tmp_name"], 'r'); }
}
if ($bHayFicheros)
$Texto .= $Adjuntos."\n\n----_Separador-de-mensajes_----\n";
return(mail($Para, $Asunto, $Texto, $Cabeceras)); }
//cambiar aqui el email
"Su bandeja de entrada ha recibido uno o varios e-mails:\n\n", $_POST[email]))
echo "form enviado";
?>
El caso es que todo va bien, se manda correctamente y demás, pero claro... si accedo directamente al archivo PHP desde un servidor se envía un mensaje en blanco... y claro, eso ocasiona muchos mensajes spam... entonces mi pregunta es, como hago que cuando entre a la ruta del archivo PHP no se mande? Simplemente que el archivo se mande si lo llamo desde otro sitio?
Un saludo y gracias