Foros del Web » Programando para Internet » PHP »

Función mail: me llega sin formato

Estas en el tema de Función mail: me llega sin formato en el foro de PHP en Foros del Web. Hola, Estoy teniendo problemas para que la función mail me mande las cabeceras. Si le pongo esto, funciona: Código: $destino ="[email protected]"; $asunto = "Contacto Web"; ...
  #1 (permalink)  
Antiguo 05/03/2012, 03:26
 
Fecha de Ingreso: diciembre-2003
Mensajes: 474
Antigüedad: 20 años, 4 meses
Puntos: 5
Información Función mail: me llega sin formato

Hola,
Estoy teniendo problemas para que la función mail me mande las cabeceras. Si le pongo esto, funciona:

Código:
$destino ="[email protected]";
$asunto = "Contacto Web";
$cuerpo ='xxxx';
$cabeceras = "Content-type: text/html";

mail($destino,$asunto,$cuerpo,$cabeceras);
Pero si le añado destinatario me llega sin formato html:

Código:
//$cabeceras .= "From: xx\r\n";



Gracias por ayudarme.
  #2 (permalink)  
Antiguo 05/03/2012, 03:53
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: Función mail: me llega sin formato

Consulta el manual:

Código PHP:
Ver original
  1. <?php
  2. // Varios destinatarios
  3. $para  = '[email protected]' . ', '; // atención a la coma
  4. $para .= '[email protected]';
  5.  
  6. // subject
  7. $titulo = 'Recordatorio de cumpleaños para Agosto';
  8.  
  9. // message
  10. $mensaje = '
  11. <html>
  12. <head>
  13.  <title>Recordatorio de cumpleaños para Agosto</title>
  14. </head>
  15. <body>
  16.  <p>¡Estos son los cumpleaños para Agosto!</p>
  17.  <table>
  18.    <tr>
  19.      <th>Quien</th><th>Día</th><th>Mes</th><th>Año</th>
  20.    </tr>
  21.    <tr>
  22.      <td>Joe</td><td>3</td><td>Agosto</td><td>1970</td>
  23.    </tr>
  24.    <tr>
  25.      <td>Sally</td><td>17</td><td>Agosto</td><td>1973</td>
  26.    </tr>
  27.  </table>
  28. </body>
  29. </html>
  30. ';
  31.  
  32. // Para enviar un correo HTML mail, la cabecera Content-type debe fijarse
  33. $cabeceras  = 'MIME-Version: 1.0' . "\r\n";
  34. $cabeceras .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  35.  
  36. // Cabeceras adicionales
  37. $cabeceras .= 'To: Mary <[email protected]>, Kelly <[email protected]>' . "\r\n";
  38. $cabeceras .= 'From: Recordatorio <[email protected]>' . "\r\n";
  39. $cabeceras .= 'Cc: [email protected]' . "\r\n";
  40. $cabeceras .= 'Bcc: [email protected]' . "\r\n";
  41.  
  42. // Mail it
  43. mail($para, $titulo, $mensaje, $cabeceras);
  44. ?>
Saludos
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 05/03/2012, 03:57
Avatar de hasdpk  
Fecha de Ingreso: agosto-2011
Ubicación: $spain->city( 'Arucas' );
Mensajes: 1.800
Antigüedad: 12 años, 7 meses
Puntos: 297
Respuesta: Función mail: me llega sin formato

La documentación de PHP de mail() dice:

Cita:
Se usa típicamente para añadir cabeceras extra (From, Cc y Bcc). En caso de tener múltiples cabeceras adicionales, deben ser separadas con un CRLF(\r\n).
Con esto quiere decir que tendrías que hacerlo así:

Código PHP:
Ver original
  1. $cabeceras = "Content-type: text/html\r\n";
  2. $cabeceras .= "From: xx";
  #4 (permalink)  
Antiguo 05/03/2012, 04:13
 
Fecha de Ingreso: diciembre-2003
Mensajes: 474
Antigüedad: 20 años, 4 meses
Puntos: 5
Respuesta: Función mail: me llega sin formato

Cita:
Iniciado por hasdpk Ver Mensaje
La documentación de PHP de mail() dice:



Con esto quiere decir que tendrías que hacerlo así:

Código PHP:
Ver original
  1. $cabeceras = "Content-type: text/html\r\n";
  2. $cabeceras .= "From: xx";
Gracias, me ha funcionado pero solo con /n, no con /r/n:
Código HTML:
$cabeceras .= "Content-type: text/html; charset=iso-8859-1[B]\n[/B]";

Etiquetas: formato, html, llega, mail
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 19:18.