PHP - Problema al mandar formulario por email

   
Vista:

Problema al mandar formulario por email

Publicado por joseda (1 intervención) el 09/05/2011 20:08:11
Dispongo de una página con un formulario, el cual llama a enviar.php para mandar los datos por email, pero a la hora de pulsar el botón, me aparece una ventana con el mensaje ¿Desea abrir o guardar este archivo?.
Tengo activo el apache, y no consigo que funcione. Por favor, agradezco vuestra ayuda. Adjunto el código de la página y del php:
<!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=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>

<form id="contacto" name="contacto" method="post" action="enviar.php">
<p align="left">
<label><strong>Nombre: </strong>
<input name="nombre" type="text" id="nombre" size="35"/>
</label>
</p>
<p align="left">
<label><strong>Empresa:</strong>
<input name="empresa" type="text" id="empresa" size="35"/>
</label>
</p>
<p align="left">
<label><strong> E-mail: </strong>
<input name="mail" type="text" id="mail" size="35"/>
</label>
</p>
<p align="left">
<label><strong>Mensaje:</strong><br />

<textarea name="mensaje" cols="40" rows="8" id="mensaje" ></textarea>
</label>
</p>
<p align="left">
<input type="submit" name="submit" value="Enviar" />
<label>
<input type="reset" name="Borrar" id="Borrar" value="Restablecer" />
</label>
</p>
</form>


</body>
</html>


ENVIAR.PHP
<?php
$nombre = $_POST['nombre'];
$mail = $_POST['mail'];
$empresa = $_POST['empresa'];

$header = 'From: ' . $mail . " \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: " . $mail . " \r\n";
$mensaje .= "Mensaje: " . $_POST['mensaje'] . " \r\n";
$mensaje .= "Fue enviado... " . date('d/m/Y', time());

$para = "TU EMAIL";
$asunto = 'ASUNTO DEL MENSAJE';


mail($para, $asunto, utf8_decode($mensaje), $header);


?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema al mandar formulario por email

Publicado por gabi gnicolau@hotmail.com (1 intervención) el 09/05/2011 20:23:20
La respuesta es muy simple tienes desactivado la ejecución de ficheros PHP, si es una página alojada en un sistema hosting, pide que te vuelvan a activar el servicio php, y que te digan por qué ha sido (casi siempre es por temas de seguridad) (busca "desarrollo seguro" o "programación segura"), es más que posible que sea por este motivo, ya que no validas ningún campo con lo cual pueden hacer phising, hacking, etc...
Si es una página alojada en tu server o en tu ordenador necesitas bajarte el intérprete del lenguaje php.


Espero haberte sido de alguna ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar