Foros del Web » Programando para Internet » PHP »

Código envio Email

Estas en el tema de Código envio Email en el foro de PHP en Foros del Web. Hola a todos. Estoy empezando en esto del Php y tengo un problema con un código sencillo para enviar un Email. Código Html: <head> <title>Formulario ...
  #1 (permalink)  
Antiguo 14/01/2008, 15:22
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 11 años, 10 meses
Puntos: 0
Código envio Email

Hola a todos.

Estoy empezando en esto del Php y tengo un problema con un código sencillo para enviar un Email.

Código Html:

<head>
<title>Formulario de envio</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form method="post" action="send_simpleform.php">

<p><strong>Tu nombre:</strong><br>
<input type="text" name="nombre" size=30></p>

<p><strong>Tu dirección de Email:</strong><br>
<input type="text" name="email" size=30></p>

<p><strong>Mensaje:</strong><br>
<textarea name="mensaje" cols=30 rows=5 wrap=virtual> </textarea></p>

<P><input type="submit" name="submit" value="Envia estos datos"></p>
</form>
</body>
</html>

Código Php:

<?
if (($nombre == "") || ($email == "") || ($mensaje == "")) {
header("Location: http://www.fran1326.tuphp.com/simple_form.html");
exit;
}

$msg = "ESTOS SON LOS DATOS RECIBIDOS:\n";
$msg .= "Nombre: $nombre\n";
$msg .= "E-Mail: $email\n";
$msg .= "Mensaje: $mensaje\n\n";

$to = "[email protected]";
$subject = "$nombre,solicita más información";
$mailheaders = "From: [email protected]\n";
$mailheaders .= "Reply-To: $email\n\n";

mail($to, $subject, $msg, $mailheaders);
?>

<html>
<head>
<title>Envio Email</title>
</head>
<body>

<H1>El siguiente Email ha sido enviado con los siguientes datos:</H1>

<p><strong>Tu nombre:</strong><br>
<? echo "$nombre"; ?>

<p><strong>Tu Email:</strong><br>
<? echo "$mail"; ?>

<p><strong>Mensaje:</strong><br>
<? echo "$mensaje"; ?>

</body>
</html>

El problema es que no sale el mensaje y tampoco recibo el correo.

Gracias y saludos,

Francisco
  #2 (permalink)  
Antiguo 14/01/2008, 15:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Re: Código envio Email

Tienes bien configurado tu servidor SMTP?

Saludos.
  #3 (permalink)  
Antiguo 14/01/2008, 15:55
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 11 años, 10 meses
Puntos: 0
Re: Código envio Email

Estoy haciendo este cuestionario a través del Host Tuphp, se supone que debería recibir en mi cuenta de correo los datos del formulario.

Saludos y gracias por la ayuda,

Francisco
  #4 (permalink)  
Antiguo 14/01/2008, 15:57
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 13 años
Puntos: 36
Re: Código envio Email

Hola fran1326.
Yo he probado la función mail() en ese hosting y funciona correctamente, lo que si a generalmente tarda 15 minutos en llegar al email.
  #5 (permalink)  
Antiguo 14/01/2008, 16:07
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 11 años, 10 meses
Puntos: 0
Re: Código envio Email

Yo envié ayer y hoy varias veces y no los recibo. Además ni siquiera sale el mensaje
El siguiente Email ha sido enviado con los siguientes datos: .... que está escrito al final del código. ¿Véis algún error en el código?

Saludos,

Francisco
  #6 (permalink)  
Antiguo 14/01/2008, 16:21
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 13 años
Puntos: 36
Re: Código envio Email

Hola, te faltaba agregar $_POST.
Lo probe en mi pc y anda bien.

simple_form.html

Código HTML:
<html>
<head>
<title>Formulario de envio</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form method="post" action="send_simpleform.php">

<p><strong>Tu nombre:</strong><br>
<input type="text" name="nombre" size=30></p>

<p><strong>Tu dirección de Email:</strong><br>
<input type="text" name="email" size=30></p>

<p><strong>Mensaje:</strong><br>
<textarea name="mensaje" cols=30 rows=5 wrap=virtual> </textarea></p>

<P><input type="submit" name="submit" value="Envia estos datos"></p>
</form>
</body>
</html> 

send_simpleform.php

Código PHP:
<?

$nombre 
$_POST["nombre"];

$email $_POST["email"];

$mensaje $_POST["mensaje"];


if ((
$nombre == "") || ($email == "") || ($mensaje == "")) {
header("Location: simple_form.html");
exit;
}

$msg "ESTOS SON LOS DATOS RECIBIDOS:\n";
$msg .= "Nombre: $nombre\n";
$msg .= "E-Mail: $email\n";
$msg .= "Mensaje: $mensaje\n\n";

$to "[email protected]";
$subject "$nombre,solicita más información";
$mailheaders "From: [email protected]\n";
$mailheaders .= "Reply-To: $email\n\n";

mail($to$subject$msg$mailheaders);
?>

<html>
<head>
<title>Envio Email</title>
</head>
<body>

<H1>El siguiente Email ha sido enviado con los siguientes datos:</H1>

<p><strong>Tu nombre:</strong><br>
<? echo "$nombre"?>

<p><strong>Tu Email:</strong><br>
<? echo "$email"?>

<p><strong>Mensaje:</strong><br>
<? echo "$mensaje"?>

</body>
</html>
  #7 (permalink)  
Antiguo 14/01/2008, 16:31
 
Fecha de Ingreso: enero-2008
Mensajes: 7
Antigüedad: 11 años, 10 meses
Puntos: 0
Re: Código envio Email

Qué fallo. Faltaba definir las variables. Muchas gracias, ya funciona.

Saludos,

Francisco
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 23:54.