Tema: Script Mail
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/11/2005, 09:39
cargosan
 
Fecha de Ingreso: abril-2003
Ubicación: Malaga
Mensajes: 176
Antigüedad: 21 años
Puntos: 1
Script Mail

Hola amigos, despues de mucho consultar (gracias cluster) he terminado el script que queria para poder enviar correos de manera, mas o menos, segura. Os lo muestro para lo que podais aportar si veis algún error o alguna mejora sustancial

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.";
}
?>
Saludos