
28/06/2011, 14:37
|
| | Fecha de Ingreso: junio-2011 Ubicación: Buenos Aires
Mensajes: 91
Antigüedad: 13 años, 8 meses Puntos: 1 | |
Respuesta: Como puedo hacer Te paso todo el Scrip y me dice que el campo a cambiar obligatorio es en recipient que pongo???
solo hay un campo "obligatorio" que debe configurar en su formulario para que el script funcione correctamente. Este es el campo "recipient". El resto de los parámetros son opcionales, puede utilizarlos según sus necesidades.
<?php
//
// WIROOS Secure Form Mail v1.0 - Copyright 2008 - WIROOS Global Solutions
// Author: Alberto Nakayama
//
// Configuracion //////////////////////////////////////////////////////////////
$dominio_permitido = str_replace('www.','', $_SERVER['SERVER_NAME']);
// Validacion de argumentos obligatorios //////////////////////////////////////
if(!isset($_REQUEST['recipient']) || $_REQUEST['Recipient']=='') die('Falta el argumento "recipient" (destino)');
if(!isset($_REQUEST['email']) || $_REQUEST['email']=='') die('Falta el argumento "email" (remitente)');
if(!isset($_REQUEST['redirect']) || $_REQUEST['redirect']=='') die('Falta el argumento "redirect" (redirección luego de enviar el mensaje)');
if(strpos($_REQUEST['recipient'], '<')!==false) die('Argumento recipient no seguro. Éste no puede contener caracteres < o >.');
if(strpos($_REQUEST['recipient'], '>')!==false) die('Argumento recipient no seguro. Éste no puede contener caracteres < o >.');
if(strpos($_REQUEST['recipient'], "\n")!==false) die('Argumento recipient no seguro. Éste debe ser una sola línea.');
if(strpos($_REQUEST['recipient'], "\r")!==false) die('Argumento recipient no seguro. Éste debe ser una sola línea.');
$subject = isset($_REQUEST['subject'])? $_REQUEST['subject'] : 'WIROOS Formmail v1.0';
if(strpos($subject, '<')!==false) die('Argumento subject no seguro. Éste no puede contener caracteres < o >.');
if(strpos($subject, '>')!==false) die('Argumento subject no seguro. Éste no puede contener caracteres < o >.');
if(strpos($subject, "\n")!==false) die('Argumento subject no seguro. Éste debe ser una sola línea.');
if(strpos($subject, "\r")!==false) die('Argumento subject no seguro. Éste debe ser una sola línea.');
if(isset($_REQUEST['realname']) && $_REQUEST['realname']!='')
{
if(strpos($_REQUEST['realname'], '<')!==false) die('Argumento realname no seguro. Éste no puede contener caracteres < o >.');
if(strpos($_REQUEST['realname'], '>')!==false) die('Argumento realname no seguro. Éste no puede contener caracteres < o >.');
if(strpos($_REQUEST['realname'], "\n")!==false) die('Argumento realname no seguro. Éste debe ser una sola línea.');
if(strpos($_REQUEST['realname'], "\r")!==false) die('Argumento realname no seguro. Éste debe ser una sola línea.');
}
// Validacion de recipient ////////////////////////////////////////////////////
// Separo las direcciones por coma
$destinos = explode(',', $_REQUEST['recipient']);
// Borro los espacios del principio y el final de cada direccion, si los hay
for($i=0; $i<sizeof($destinos); $i++)
$destinos[$i] = trim($destinos[$i]);
// Verifico que cada direccion destino sea del dominio permitido
for($i=0; $i<sizeof($destinos); $i++)
{
// Busco la posicion del arroba
$arroba_pos = strpos($destinos[$i], '@');
// Si no tiene arroba, se la agrego
if($arroba_pos === false)
{
$destinos[$i] .= '@' . $dominio_permitido;
continue;
}
// Si tiene arroba, verifico que el dominio corresponda a dominio_permitido
else
{
// Si el dominio no es $dominio_permitido, muestro un mensaje de error
if(substr($destinos[$i], $arroba_pos+1) != $dominio_permitido)
die($destinos[$i] . ' no es una dirección destino permitida.');
}
}
// Composicion del mensaje ////////////////////////////////////////////////////
$mensaje = "Enviado por el IP (" . $_SERVER['REMOTE_ADDR'] . ")\n\n";
foreach($_REQUEST as $key => $value)
{
if($key!='recipient' && $key!='email' && $key!='subject' && $key!='redirect')
$mensaje .= $key . ": " . stripslashes($_REQUEST[$key]) . "\n";
}
// Envio del mensaje //////////////////////////////////////////////////////////
if(isset($_REQUEST['realname']) && $_REQUEST['realname']!='')
$from = 'From: ' . $_REQUEST['realname'] . '<' . $_REQUEST['email'] . '>';
else
$from = 'From: ' . $_REQUEST['email'];
mail(implode(',', $destinos), $subject, $mensaje, $from);
header('Location: ' . $_REQUEST['redirect']);
?> |