Foros del Web » Programando para Internet » PHP »

Problemilla al enviar e-mails en formato HTML

Estas en el tema de Problemilla al enviar e-mails en formato HTML en el foro de PHP en Foros del Web. Hola a tod@s!! Tengo documento .php que contiene un formulario y que al mismo tiempo (al apretar el boton "send", envia un e-mail al destinatario ...
  #1 (permalink)  
Antiguo 13/03/2003, 03:48
 
Fecha de Ingreso: mayo-2002
Mensajes: 72
Antigüedad: 21 años, 11 meses
Puntos: 0
Pregunta Problemilla al enviar e-mails en formato HTML

Hola a tod@s!!

Tengo documento .php que contiene un formulario y que al mismo tiempo (al apretar el boton "send", envia un e-mail al destinatario establecido.
Mi intención es hacer llegar el e-mail en formato html pero no lo consigo.
Soy bastante nuevo en la programación PHP, pero por lo que he leido, se deben enviar con la función mail() unos $headers, pero no lo consigo.

Detallo un ejemplo del codigo y a ver si alguien me puede echar una mano. Os estaré muy agradecido:

<HTML>
<HEAD>

bla, bla, bla.......

Código PHP:
<? 
if (!$HTTP_POST_VARS){ 
?>

<FORM NAME="consulta_exterior" METHOD="POST" ACTION="formulario.php">

....el resto del codigo html.........
</FORM>

Código PHP:
<? 
}else{     

    
//aqui creo el mail

    
$cuerpo '
    <html>
<head>
 <title>Formulario desde la web de xx</title>
</head>
<body>Este será el mensaje del mail
</body>
</html>
'


    
    
//los headers que no sé si estan en el lugar indicado
    
$headers  "MIME-Version: 1.0\r\n";
    
$headers .= "Content-Type: text/html; charset=iso-8859-1\n";


    
//...aqui envio el mail
    
mail("[email protected]""Consulta des de la web xx",$cuerpo,$headers);

//...mensaje de confirmacion
    
echo "GRACIAS!!"

?>

</BODY>
</HTML>


Esto es todo. Espero que quede claro el problemilla.
Muchas gracias...
  #2 (permalink)  
Antiguo 13/03/2003, 04:08
 
Fecha de Ingreso: mayo-2002
Mensajes: 72
Antigüedad: 21 años, 11 meses
Puntos: 0
..parece que lo solucioné!!

Hola de nuevo!

Parece que lo solucioné.
En un post de Mickel http://www.forosdelweb.com/showthread.php?postid=254350 vi que se usaba el siguiente código:

Código PHP:
$sheader=$sheader."Mime-Version: 1.0\n";
$sheader=$sheader."Content-Type: text/html"
...y funcionó. Pero alguien me puede explicar el porqué de usar
Código PHP:
 $sheader=$sheader."Content-Type: text/html"
en vez de
Código PHP:
 $header="Content-Type: text/html"
no lo entiendo muy bien....y me gustaria no dejar lagunas en mis bases de PHP.

Graciàs a todos!!!
  #3 (permalink)  
Antiguo 13/03/2003, 09:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
$sheader=$sheader."Mime-Version: 1.0\n";
etc ..

es lo mismo que:

Código PHP:
$sheader ="Mime-Version: 1.0\n";
$sheader .="Content-Type: text/html"
el . (punto ..) concatenas cadenas (strings) ..

Si has usado solo $header="Content-Type: text/html";

Solo habras usado esa cabecera .. ademas, es importante los salto de linea \n entre cabeceras segun lo define las RFC correspondientes ..

Revisa el manual oficial de PHP mail() y los ejemplos que trae de combinaciones de cabeceras:

http://www.php.net/manual/en/function.mail.php


Un saludo,
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 02:55.