Foros del Web » Programando para Internet » PHP »

Problema al enviar formulario por email

Estas en el tema de Problema al enviar formulario por email en el foro de PHP en Foros del Web. Dispongo de una pagina con un formulario con la acción enviar.php. Tengo iniciado el APACHE. A la hora de pulsar el botón "enviar", para mandar ...
  #1 (permalink)  
Antiguo 09/05/2011, 09:44
 
Fecha de Ingreso: febrero-2010
Mensajes: 3
Antigüedad: 14 años, 1 mes
Puntos: 0
Problema al enviar formulario por email

Dispongo de una pagina con un formulario con la acción enviar.php. Tengo iniciado el APACHE. A la hora de pulsar el botón "enviar", para mandar el formulario por email, me aparece un mensaje que dice: "¿Desea abrir o guardar este archivo?, y no consigo enviarlo. Adjunto el código html y php. Por favor, agradezco vuestra ayuda. Gracias.

<!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/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);


?>
</h2>
<h2 align="center">Gracias!</h2>

<p align="center">Tu mensaje ha sido enviado correctamente, pronto nos pondremos en contacto con usted.</p>
<p align="center"> </p>
<p><span style="color:red;font-size:150%;font-weight:bold;"><?php print $email; ?></span></p>

<p align="center">Si no es correcto,

<script type='text/javascript'>

document.write('<a href="javascript:history.go(-1);">vuelve atras</a>');

</script>

<noscript>vuelve atras</noscript> y envialo de nuevo</p>

<script type='text/javascript'>

document.write('<p class="details"><a href="javascript:history.go(-2);">Volver a la página de inicio.</a></p>');

</script>

<script type='text/javascript'>

setTimeout('history.go(-2)', 9000);

</script>

<noscript>

<p align="center" class="details">Pulsa el boton "atras" en tu navegador para volver a la página anterior.</p>

</noscript>
  #2 (permalink)  
Antiguo 09/05/2011, 10:02
Avatar de xtimed  
Fecha de Ingreso: julio-2009
Ubicación: BCN - México
Mensajes: 226
Antigüedad: 14 años, 8 meses
Puntos: 41
Respuesta: Problema al enviar formulario por email

Debes asegurarte que tengas instalado correctamente PHP, puedes poner un una pagina en el directorio raiz de tu servidor con este codigo <?php phpinfo(); ?> con el nombre que quieras para verificar si lo tienes instalado

Etiquetas: email., formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:45.