Pues deberias darnos el error que se genera, quitando el codigo de javascript que hace la redirección inmediata deberia mostrarte el error o revisar el error_log en el servidor.. que "ahora" tengas
PHP 5.4 te pone muy abajo aun, ya que es una version muuuuy pasada, mejorando un poco tu codigo, puedes agregar comprobación de datos POST y dar un orden adecuado a la estructura...
Código PHP:
Ver original<?php
if($_POST){
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$empresa = $_POST['empresa'];
$telefono = $_POST['telefono'];
$header = 'From: ' . $email . " \r\n";
$header .= "X-Mailer: PHP/" . phpversion() . " \r\n"; $header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/plain";
$mensaje = "Este mensaje fue enviado por " . $nombre . ", de la empresa " . $empresa . " \r\n";
$mensaje .= "Su e-mail es: " . $email . " \r\n";
$mensaje .= "Su telefono es: " . $telefono . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Enviado el " . date('d/m/Y', time());
$asunto = 'Contacto desde Pagina';
if($envio){
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>
<body>
<script>
var targetURL="http://www.misitio.com/gracias.html"
window.location=targetURL
</script>
</body>
</html>
<?php
}else{
echo "Error con envio";
}
}
?>
Si no te funciona deberias contactar a tu proveedor y preguntar si ha agregado alguna restricción al envio de correos usando mail() de PHP
Saludos!