Foros del Web » Programando para Internet » PHP »

Formulario de envio de Mail

Estas en el tema de Formulario de envio de Mail en el foro de PHP en Foros del Web. Hola amigos buenas tardes, tengo una dudad y espero que puedan solucionarla, lo que pasa que apenas hice un formulario para poner en mi pagina ...
  #1 (permalink)  
Antiguo 20/09/2010, 17:38
Avatar de Sistemasemv  
Fecha de Ingreso: marzo-2009
Mensajes: 59
Antigüedad: 15 años
Puntos: 0
Pregunta Formulario de envio de Mail

Hola amigos buenas tardes, tengo una dudad y espero que puedan solucionarla, lo que pasa que apenas hice un formulario para poner en mi pagina Web en la cual pide Nombre, Email, Asunto y mensaje no soy muy bueno toda via en esto de PHP pero bueno a lo que voy q a la hora de resibir mi el correo me sale todo junto yo quisiera que me saliera separado algo como esto:

Content-type:text/html; charset=iso-8859-1
From: [email protected]
Repaly-to: [email protected]
Cc: [email protected]


nombre: Sistemas<br>email: [email protected]<br>telefono: 018001234567<br>Mensaje: espero que me puedan ayudar gracias<br>

y yo quisiera que me saliera algo como esto en mi correo:

nombre: Sistemas
email: [email protected]
telefono: 018001234567
Mensaje: espero que me puedan ayudar Gracias

les pongo el codigo que estoy utilizando espero se entienda 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>Contactos</title>
<style type="text/css">
<!--
.Estilo5 {font-family: Arial, Helvetica, sans-serif; }
body {
background-image: url(images/pleca.jpg);
background-repeat: no-repeat;
}
-->
</style>
</head>

<body>

<?php

if(!$_POST)
{

?>

<form id="form1" name="form1" method="post" action="contacto.php">
<table width="150" border="0" align="center">
<tr>
<td class="Estilo5">*Nombre:</td>
<td><input name="nombre" type="text" id="nombre" size="30" /></td>
</tr>
<tr>
<td class="Estilo5">*E-Mail:</td>
<td><input name="correo" type="text" id="correo" size="30" /></td>
</tr>
<tr>
<td class="Estilo5">*Telefono: </td>
<td><input name="direccion" type="text" id="direccion" size="30" /></td>
</tr>
<tr>
<td class="Estilo5">*Mensaje: </td>
<td><textarea name="mensaje" cols="27" rows="5" id="mensaje"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Enviar" /></td>
</tr>
</table>
<p align="center" class="Estilo5">Los datos con * Son obligatorios </p>
</form>

<?php

}


else

{


$recipiente = '[email protected]';

$asunto = 'Contactos';

$error = 0;


$nombre = $_POST['nombre'];
$email = $_POST['correo'];
$direccion = $_POST['direccion'];
$comentario = $_POST['mensaje'];


if($nombre == "" || $email == "" || $comentario == "")

{
$error=1;
}
/* Luego validamos si el correo ingresado es valido mediante la siguiente sentencia. Si no es válido, le asignamos valor 2 a la variable $error */
elseif(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email)){
$error=2;
}


if($error==1){
echo '<p><center><font color=\"#000000\"><font face="Souvenir Lt BT">El siguiente error ha ocurrido:<br></p></center></font></font>';
echo '<p><center><font color=\"#000000\"><font face="Souvenir Lt BT">No han llenado todos los campos obligatorios.<br> Por favor vuelva <a href="contacto.php">atras</a><br></p></center></font></font>';
}

elseif($error==2){
echo '<p><center><font color=\"#000000\"><font face="Souvenir Lt BT">El siguiente error ha ocurrido:<br></p></center></font></font>';
echo '<p><center><font color=\"#000000\"><font face="Souvenir Lt BT">El correo electronico es invalido.<br> Por favor vuelva <a href="contacto.php">atras</a><br></p></center></font></font>';
}


else{


$message ="nombre: ".$nombre."<br>";
$message .="email: ".$email."<br>";
$message .="direccion: ".$direccion."<br>";
$message .="Mensaje: ".$comentario."<br>";

$message = stripslashes($message);


$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type:text/html; charset=iso-8859-1\r\n";
$headers .= "From: $email\r\n";
$headers .= "Repaly-to: $email\r\n";
$headers .= "Cc: $email\r\n";



mail($recipiente,$asunto,$message,$headers);


echo '<p><center><font color=\"#000000\"><font face="Souvenir Lt BT">El mensaje ha sido enviado.<br></p></center></font></font>';
echo '<p><center><font color=\"#000000\"><font face="Souvenir Lt BT">Nos contactaremos con Ud. a la brevedad.<br></p></center></font></font>';

}

}

?>

</body>
</html>


================================================== =======

espero me puedan ayudar amigos Gracias
  #2 (permalink)  
Antiguo 24/09/2010, 13:46
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Formulario de envio de Mail

Si quieres recibir los mensajes con formato puedes hacerlo enviandolos como HTML y agregando cabeceras la función mail.
El cliente debe poder leer los correos en HTML.
Te recomiendo que para el tema mail emplees una classe como PHPMailer, te ahorrarás mucho código y problemas.
Si vas a usar la función mail de php, aquí tienes el ejemplo en html (del manual)

Código PHP:
<?php
// Varios destinatarios
$para  '[email protected]', '// atención a la coma
$para .= '[email protected]';

// subject
$titulo 'Recordatorio de cumpleaños para Agosto';

// message
$mensaje '
<html>
<head>
  <title>Recordatorio de cumpleaños para Agosto</title>
</head>
<body>
  <p>¡Estos son los cumpleaños para Agosto!</p>
  <table>
    <tr>
      <th>Quien</th><th>Día</th><th>Mes</th><th>Año</th>
    </tr>
    <tr>
      <td>Joe</td><td>3</td><td>Agosto</td><td>1970</td>
    </tr>
    <tr>
      <td>Sally</td><td>17</td><td>Agosto</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
'
;

// Para enviar un correo HTML mail, la cabecera Content-type debe fijarse
$cabeceras  'MIME-Version: 1.0' "\r\n";
$cabeceras .= 'Content-type: text/html; charset=iso-8859-1' "\r\n";

// Cabeceras adicionales
$cabeceras .= 'To: Mary <[email protected]>, Kelly <[email protected]>' "\r\n";
$cabeceras .= 'From: Recordatorio <[email protected]>' "\r\n";
$cabeceras .= 'Cc: [email protected]"\r\n";
$cabeceras .= 'Bcc: [email protected]"\r\n";

// Mail it
mail($para$titulo$mensaje$cabeceras);
?>
Espero que sirva, salu2

Etiquetas: envio, mail, 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 01:37.