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>";
Código PHP:
if(mail($destinatario, $asunto, $texto, $cabeceras)){
Código:
Me dice unknown error, y la verdad es que he revisado el código y no se porque puede ser.Warning: Unknown error in c:\foxserv\www\viguer\formulario.php on line 161
Si alguien me pudiera ayudar se lo agradecería mucho, gracias.
Un saludo.