Código PHP:
<?
session_Start();
if (!isset($_SESSION['control'])){
die ("Acceso no permitido");
}
// Funcion para comprobar que todos los datos del recipient estan correctos
function comprobacion($tring)
{
//comprobamos que no haya mas de tres arrobas, el maximo permitido
$arroba=substr_count($tring,"@");
if ($arroba>3)
die ("Acceso no permitido");
//probamos que no haya nada de puntos y comas o comas que puedan separar mas de tres receptores
$puntocoma=substr_count($tring,";");
if ($puntocoma>3)
die ("Acceso no permitido");
$coma=substr_count($tring,",");
if ($coma>3)
die ("Acceso no permitido");
//miramos que no haya dos puntos que seria los dos puntos que se ponen con BCC o CC
$dospuntos=substr_count($tring,":");
if ($num>=1)
die ("Acceso no permitido");
}
//Recogida de var's
$recipient = $_POST['recipient'];
$subject = $_POST['subject'];
$redirect = $_POST['redirect'];
$nombre = $_POST['nombre'];
comprobacion($recipient);
$recipient = htmlentities($recipient);
$subject = htmlentities($subject);
$redirect = htmlentities($redirect);
$nombre = htmlentities($nombre);
// Creamos el mensaje
$msg="============ Envio de Formulario ============\r\n\r\n";
reset ($HTTP_POST_VARS);
while (list ($key, $val) = each ($HTTP_POST_VARS))
{
if ( ($key!="recipient") && ($key!="subject")&& ($key!="redirect") )
{
$val=htmlentities($val);
$msg.= "$key: $val\r\n";
}
}
//comprobamos las longitudes de las variables
if (strlen($recipient)>90)
die ("Acceso no permitido");
if (strlen($subject)>90)
die ("Acceso no permitido");
if (strlen($redirect)>90)
die ("Acceso no permitido");
if (strlen($nombre)>90)
die ("Acceso no permitido");
if (strlen($email)>90)
die ("Acceso no permitido");
// Si todo ha ido bien mandamos el correo
$From="From: $nombre <$email>\n";
$mailok=mail("$recipient", "$subject", $msg, $From);
if ($redirect) {
header("Location: $redirect");
} else {
print "La informacion ha sido enviada. Gracias.";
}
?>