Foros del Web » Programando para Internet » PHP »

No me aparece el contenido html del mail

Estas en el tema de No me aparece el contenido html del mail en el foro de PHP en Foros del Web. He probado ya de todo y no consigo que me aparezca el contenido del mail que esta en codigo html pasado a traves de la ...
  #1 (permalink)  
Antiguo 24/04/2008, 08:49
 
Fecha de Ingreso: septiembre-2003
Mensajes: 65
Antigüedad: 21 años, 1 mes
Puntos: 1
No me aparece el contenido html del mail

He probado ya de todo y no consigo que me aparezca el contenido del mail que esta en codigo html pasado a traves de la funcion mail(). Me llega el correo a yahoo enviado desde una cuenta de gmail pero el contenido esta vacio, todo lo demas bien.

El content-type esta a text/html y el mensaje es de html es muy simple, simplemente las cabeceras de html, head, body y un poco de texto, pero nada. Si envio texto plano lo veo sin problemas.

Si lo mando a hotmail me aparece el mensaje correcto.

He leido este articulo : http://www.forosdelweb.com/1366680-post151.html , pero no entiendo bien esta parte del codigo :

$cuerpo_1 = "--$boundary\r\n" .
"Content-Type: text/plain; charset=ISO-8859-1\r\n" .
"Content-Transfer-Encoding: base64\r\n\r\n";

Yo pensaba que el content-type solo se ponia en los headers.
  #2 (permalink)  
Antiguo 24/04/2008, 09:08
 
Fecha de Ingreso: noviembre-2007
Mensajes: 52
Antigüedad: 17 años
Puntos: 0
Re: No me aparece el contenido html del mail

Esta es la forma mas correcta que conozco de escribir un mail con contenido html con php:

Código:
<?php
// múltiples recipientes
$para  = '[email protected]' . ', '; // note la coma
$para .= '[email protected]';

// asunto
$asunto = 'Recordatorios de Cumpleaños para Agosto';

// mensaje
$mensaje = '
<html>
<head>
  <title>Recordatorios de Cumpleaños para Agosto</title>
</head>
<body>
  <p>¡Aquí están los cumpleaños que vienen en Agosto!</p>
  <table>
    <tr>
      <th>Persona</th><th>Día</th><th>Mes</th><th>Año</th>
    </tr>
    <tr>
      <td>Juan</td><td>3</td><td>Agosto</td><td>1970</td>
    </tr>
    <tr>
      <td>Sandra</td><td>17</td><td>Agosto</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

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

// Cabeceras adicionales
$cabeceras .= 'To: María <[email protected]>, Kelly <[email protected]>' . "\r\n";
$cabeceras .= 'From: Recordatorio de Cumpleaños <[email protected]>' . "\r\n";
$cabeceras .= 'Cc: [email protected]' . "\r\n";
$cabeceras .= 'Bcc: [email protected]' . "\r\n";

// Enviarlo
mail($para, $asunto, $mensaje, $cabeceras);
?>
"Este ejemplo lo tienes en php.net en los comentarios de la funcion mail()"
  #3 (permalink)  
Antiguo 24/04/2008, 09:21
 
Fecha de Ingreso: septiembre-2003
Mensajes: 65
Antigüedad: 21 años, 1 mes
Puntos: 1
Re: No me aparece el contenido html del mail

No, si ese ejemplo fue de los primeros que ya vi, pero no me tira con yahoo
  #4 (permalink)  
Antiguo 24/04/2008, 10:14
 
Fecha de Ingreso: septiembre-2003
Mensajes: 65
Antigüedad: 21 años, 1 mes
Puntos: 1
Re: No me aparece el contenido html del mail

Ya esta, era simplemente que no funciona si pongo las etiquetas html y body, simplemente hay que poner el contenido del body para que funcione
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 21:14.