Problema con el envío de formulario vía PHP

Hola muy buenas.

Tengo una página que hice hace un año aproximadamente, con un formulario para envío de emails vía php.Ç
Ésta página ha estado alojada en un servidor ese año entero, pero hace menos de una semana he cambiado a SERED.net el alojamiento (y por problemas a parte he tenido que cambiar el dominio de .com a .es)

el caso es que el formulario de envío antes funcionaba perfectamente, pero ahora que estoy en el nuevo alojamiento y con el nuevo dominio, no funciona en absoluto, y ya no se por qué puede ser.

aviso que estoy muy verde en esto aunque la página lleve hecha un año, jejejeje

os dejo los códigos del formulario en html, y los códigos del archivo php:

contacta.html:

<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-1" />
<meta name="description" content="descripcion blablabla" />
<meta name="keywords" content="palabras clave etc" />
<title>título de la página</title>
<link rel="stylesheet" href="../estilo-general.css" type="text/css" media="all">
<link rel="shortcut icon" href="../objetos/ico.ico">

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style>
.sub {text-decoration:underline;}
.centro {text-align:center;}
</style>
<script language="JavaScript" type="text/JavaScript">

//para que no dejen valores en blanco
function valida_envia(){
if(document.presu.nombre.value == "") {
alert("Por favor indique Su Nombre");
document.presu.nombre.focus();
return 0;
}

if(document.presu.localidad.value == "") {
alert("Por favor indique Su Localidad");
document.presu.localidad.focus();
return 0;
}

if(document.presu.telefono.value == "") {
alert("Por favor indica un Teléfono de contacto, para contestarle cuanto antes");
document.presu.telefono.focus();
return 0;
}

if(document.presu.email.value == "") {
alert("Por favor indica un E-Mail valido");
document.presu.email.focus();
return 0;
}

if(document.presu.trabajo.value == "") {
alert("Por favor, rellene el texto de su petición");
document.presu.trabajo.focus();
return 0;
}

alert("Muchas gracias por confiar en nosotros");
document.presu.submit(); 
return true;
}
</script>

</head>
<body>

<div id="global">
   <div id="cabecera">
    <div id="logotipo"><a href="../index.html"><img alt="Clic aquí para volver a la página principal" src="../objetos/logo2.png" width="948px" height="85px" /></a></div>
  </div>
 
  <div id="info">
  <p>informacion de la empresa</p>
  </div>
 <!-- menu de navegacion horizontal -->
  <div id="navegacion">
    <ul>
    <li><a href="../index.html" title="Volver al inicio">INICIO</a></li><li><a href="../empresa/empresa.html" title="¿Quiénes Somos?">LA EMPRESA</a></li><li><a href="../contacta/contacta.html" title="mándanos un e-mail">CONTACTA</a<li><a href="direccion de facebook" title="Haz click en "me gusta"" target="_blank">siguenos en facebook</a></li>
    </ul>
	</div>
 
  <div id="contenido">
  <h1>CONTACTA</h1>
	</br>
	<p>Contacte con nosotros para pedir su presupuesto personalizado a través de nuestro formulario, en un breve plazo nuestro personal le responderá con su presupuesto a medida a través del mail, o del número de contacto que usted nos facilite:</p>
		 <p></p>
		 <p>NOTA: <b><u><big>todos</big></u></b> los campos son <u><b><big>obligatorios</big></b></u><br /></p>
		 
		 <div id="formu">
	   <form action="presu.php" method="post" name="presu" > <!-- onsubmit="MM_validateForm('telefono','','NisNum');MM_validateForm('email','','NisEmail');return document.MM_returnValue" -->
      <p>Nombre: <input type="text" title="Introduzca el nombre con el que contactaremos con usted" name="nombre" size="30" maxlength="50" /></p>
      <p>Localidad: <input type="text" title="El lugar donde se realizará el trabajo" name="localidad" size="30" /></p>
      <p>Número de Teléfono: <input type="text" title="Con el teléfono le atenderemos antes" name="telefono" size="30" maxlength="13"/></p>
      <p>E-mail: <input type="text"  name="email" size="30" maxlength="50" /></p>
      <p>Descripción del trabajo: <textarea align="bottom" title="Describa el trabajo del cual quiere presupuesto" name="trabajo" cols="50" rows="7"></textarea> </p>
      </br></br></br></br></br>
	     <div id="botones">
			 <input type="button" value="Pedir Presupuesto" name="pedir presupuesto" onclick="valida_envia()" />
	     <!-- <input type="submit" name="enviar" value="pedir presupuesto" /> -->
       <input type="reset" value="Vaciar el Formulario" name="reset" />
       </div>
		 </form>
	   </div>
	  </br>
	  <p></p>
	  <p><span class="sub">Gracias por confiar en nosotros</span></p>
    <div class='clear'>
    </div>
	</div>
  
  <div id="pie">pie de página</div>
	
</div>
  <div class='clear2'>
  </div>
		
</body>

archivo presu.php:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Mensaje enviado, gracias por confiar en nosotros</title>

<meta http-equiv="refresh" content="10;URL=direccion de la página principal para el retorno">

</head>

<body>
<?php 
$sendTo = "[correo eliminado]"; 
$subject = "Presupuesto trabajo"; 
$nombre = $_POST["nombre"]; 
$localidad = $_POST["localidad"];
$telefono = $_POST["telefono"];
$email = $_POST["email"];
$trabajo = $_POST["trabajo"]; 

$headers .= ""; 
$message = "Cliente: " . $nombre . "\nTeléfono: " . $telefono . "\nLocalidad: " . $localidad . "\nEmail: " . $email . "\nPedido: \n" . $trabajo; 
mail($sendTo, $subject, $message, $headers); 
?>

<h2>Mensaje enviado, en cuanto podamos le contestaremos con un presupuesto</h2>
<h2>Gracias por confiar en nuestra empresa</h2>

<p>Si tu navegador no te redirige automáticamente en 10 segundos,haga click <a href="../index.html">aquí</a>.</p>

</body>
</html>


Vale, creo que esto es todo, si pudiérais ayudarme os lo agradecería muchísimo

un saludo
Hola:

¿Puedes enviar correos desde tu cuenta de correo (gmail, hotmail, yahoo, etc.) a la cuenta de tu dominio? Yo creo que hay problemas con el dominio, pues puede que aún no se haya propagado o que aún siga apuntando al otro hosting (ya me ha pasado). Si es lo que yo digo, lo mejor es que te comuniques con ellos para que te guíen en los pasos a seguir.
hola, gracias por la respuesta, ya me he creado una cuenta en el webmail de sered y he probado a enviarme un mail desde una cuenta de gmail, y ha tardado, pero al final ha llegado

aún así, el formulario de envío sigue sin funcionar. Aclaro que la función sendto actualmente apunta a una cuenta de gmail, no del webmail del hosting. no se si eso tiene algo que ver.
hola buenas, me han contestado los del servicio técnico de SERED, y me han dicho que

la funcion mail de PHP está desactivada, que tengo que utilizar autentificación SMTP.

el problema es que no tengo ni idea de qué es eso.


¿Alguien que me pueda decir qué tengo que hacer con eso del SMTP?¿o que me diga cómo activo la funcion mail de PHP (si se puede)?
@xxxyyyzzz: perdón por no responder algo antes, la verdad es que lo había olvidado :(.

La función PHP mail no se puede habilitar porque es una configuración del servidor que involucra algo más que modificar el archivo de configuración.

En cuanto a la autentificación SMTP, debes utilizar la clase PHPMailer para enviar correos.

Un ejemplo extraído del mismo sitio:

<?php

require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP();  // Aquí le dices que utilice SMTP
$mail->Host     = "smtp.example.com"; // El nombre del servidor smtp. Este lo debes buscar en el panel de control del hosting.

$mail->From     = "[correo eliminado]"; // Remitente
$mail->AddAddress("[correo eliminado]"); // Destinatario

$mail->Subject  = "First PHPMailer Message"; // Asunto
$mail->Body     = "Hi! \n\n This is my first e-mail sent through PHPMailer."; // Cuerpo del mensaje.
$mail->WordWrap = 50; // Permite 50 palabras por línea (no por correo; no es lo mismo :P)

if(!$mail->Send()) {
  echo 'Mensaje no se envió.';
  echo 'Error: ' . $mail->ErrorInfo;
} else {
  echo 'Mensaje enviado.';
}
?>

Es casi lo mismo que con PHP mail(), solo que orientado a objetos.
Hola skaparate
gracias por responder
entonces con lo que me has escrito cambiando lo scampos que faltan
lo subo al serv y cuando mi web haga la llamada a ese archivo ya debe funcionar no?
o hay que hacer algo mas ..
un saludo
IMASDPIC escribió:Hola que tal
Los de mi alojamiento me dicen que lo haga como lo de la web esta ,pero no consigo que me funcione ,ademas de que no se si esta todo en esa webb lo que me hace falta
http://www.linuxhispano.net/2012/02/02/enviar-correo-usando-un-serv…
si me pueden hechar una mano
gracias


Hola Amigo!! Tuve el mismo problema y lo acabo de solucionar. Yo también tengo el hosting gratuito de CCTW osea SERED encontre la solución en el siguiente link:

http://www.taringa.net/posts/info/7114524/Enviar-e-mails-con-PHPMai…

Para que funcione tenes que crear tu cuenta de mail (La única que te permite el host gratuito de SERED) e ingresar los datos en el archivo:

$mail->Username = "[correo eliminado]"; // Cuenta de e-mail que has creado en SERED
$mail->Password = "************"; // Password que has colocado a esa cuenta.


Con todo esto envía y llegan los mails a mis correos de Hotmail y Yahoo!!! todo un logro!!

Si necesitas más ayuda avisame y te copio mi código.

Saludos y aguante CCTW!!!!