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"; } } if ($bHayFicheros) $Texto .= $Adjuntos."\n\n----_Separador-de-mensajes_----\n"; } //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