Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/05/2006, 20:34
erponcios
 
Fecha de Ingreso: abril-2006
Mensajes: 218
Antigüedad: 18 años
Puntos: 0
Problema con envio de formulario.

Buenas gente, tengo un código creado para que me envie un mail de contacto al rellenar un formulario, y además envie un mail de respuesta.

El código es el siguiente:

Código PHP:
if ($_GET['accion']=="enviar"){

if ((
$_SESSION['controlando'] == $_SESSION['controlando_bis']) AND ($_SESSION['controlando'] <> ''))
{
function 
ValidarDatos($campo){ 
$badHeads = array("Content-Type:"
"MIME-Version:"
"Content-Transfer-Encoding:"
"Return-path:"
"Subject:"
"From:"
"Envelope-to:"
"To:"
"bcc:"
"cc:"); 

foreach(
$badHeads as $valor){ 
if(
strpos(strtolower($campo), strtolower($valor)) !== false){ 
echo 
"<tr><td colspan='2' align='center' class='texto'>No seas spamer</td></tr>";
exit; 




ValidarDatos($_POST['email']); 
ValidarDatos($_POST['nombre']); 
ValidarDatos($_POST['apellidos']);
ValidarDatos($_POST['comentario']);

$nombre htmlentities($nombre);
$apellidos htmlentities($apellidos);
$email htmlentities($email);
$comentario htmlentities($comentario);

function 
check_email_address($email) {
if (!
ereg("[^@]{1,64}@[^@]{1,255}"$email)) {
return 
false;
}

$email_array explode("@"$email);
$local_array explode("."$email_array[0]);
for (
$i 0$i sizeof($local_array); $i++) {
if (!
ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^
_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$"
$local_array[$i])) {
return 
false;
}


if (!
ereg("^\[?[0-9\.]+\]?$"$email_array[1])) { 
$domain_array explode("."$email_array[1]);
if (
sizeof($domain_array) < 2) {
return 
false;
}

for (
$i 0$i sizeof($domain_array); $i++) {
if (!
ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$"$domain_array[$i])) {
return 
false;
}
}
}
return 
true;
}


function 
lnonly($string) {
$eregi eregi_replace("^([A-Za-z\Á\É\Í\Ó\Ú\Ñ\á\é\í\ó\ú\ñ\.]{1}[a-z\á\é\í\ó\ú\ñ\.]+(\ )*)+$","",$string);
if(empty(
$eregi)){
return 
true;
}
return 
false;
}

$nombre=$_POST['nombre'];
$apellidos=$_POST['apellidos'];
$email=$_POST['email'];
$comentario=$_POST['comentario'];
$enviado=$_POST['Enviar'];

if (
check_email_address($email)) 

if(
lnonly($nombre) && lnonly($apellidos)) 
{
if (isset(
$enviado)) 

if((
$nombre != "") && ($email != "") && ($apellidos != "") && ($comentario != "")) 
{

$destinatario="[email protected]";
$fecha date("d-M-y H:i");
$asunto="Formulario de contacto";

$cabeceras.= "MIME-Version: 1.0\r\n"
$cabeceras.= "Content-type: text/html; charset=iso-8859-1\r\n"
$cabeceras.= "From: {$nombre} {$apellidos}<{$email}>\r\n";
$cabeceras.= "Last-Modified: ".$fecha." GMT\r\n"
$cabeceras.= "Cache-Control: no-cache, must-revalidate\r\n"
$cabeceras.= "Pragma: no-cache\r\n"
$cabeceras.= "Reply-To: {$email}\r\n";

$headers.= "MIME-Version: 1.0\r\n"
$headers.= "Content-type: text/html; charset=iso-8859-1\r\n"
$headers.= "From: ViguerDesigner Studio <{$destinatario}>\r\n";
$headers.= "Last-Modified: ".$fecha." GMT\r\n"
$headers.= "Cache-Control: no-cache, must-revalidate\r\n"
$headers.= "Pragma: no-cache\r\n"
$headers.= "Reply-To: {$destinatario}\r\n";

$respuesta='Gracias por contactar con ViguerDesigner Studio, '.$nombre.' '.$apellidos.' .';

$texto='El Sr/a: '.$nombre.' '.$apellidos.' ha enviado el siguiente comentario: '.$comentario.' A las: '.$fecha.' .';

if(
mail($destinatario$asunto$texto$cabeceras)){

echo 
"<tr><td colspan='2' align='center' class='texto'>Formulario enviado correctamente.</td></tr>";

mail($email$asunto$respuesta,$headers);

}

else { 

echo 
"<tr><td colspan='2' align='center' class='texto'>El Formulario no se ha podido enviar.</td></tr>";

}
}

else{ 

echo 
"<tr><td colspan='2' align='center' class='texto'>Debe rellenar todos los campos</td></tr>";



}

}

else{

echo 
"<tr><td colspan='2' align='center' class='texto'>Solo puede insertar letras en los campos nombre y apellidos</td></tr>";

}

}

else

echo 
"<tr><td colspan='2' align='center' class='texto'>El mail es incorrecto.</td></tr>";

}

else {

echo 
"<tr><td colspan='2' align='center' class='texto'>No seas spamer</td></tr>";

exit; 


}

unset(
$_SESSION['controlando'],$_SESSION['controlando_bis']); 

echo 
"</form>";
echo 
"</table>"
El problema es que la línea 160, que es esta:

Código PHP:
if(mail($destinatario$asunto$texto$cabeceras)){ 
Siempre me da este error:


Código:
Warning: Unknown error in c:\foxserv\www\viguer\formulario.php on line 161
Me dice unknown error, y la verdad es que he revisado el código y no se porque puede ser.

Si alguien me pudiera ayudar se lo agradecería mucho, gracias.

Un saludo.