Foros del Web » Programando para Internet » PHP »

Hay que desbloquear imagenes y mail no llega en formato HTML

Estas en el tema de Hay que desbloquear imagenes y mail no llega en formato HTML en el foro de PHP en Foros del Web. Tengo el siguiente problema: al enviar un email en formtao HTML con phpmailer, el email no llega con el formato de la tabla que agrego ...
  #1 (permalink)  
Antiguo 14/03/2009, 10:52
 
Fecha de Ingreso: noviembre-2008
Mensajes: 122
Antigüedad: 11 años, 3 meses
Puntos: 4
Pregunta Hay que desbloquear imagenes y mail no llega en formato HTML

Tengo el siguiente problema: al enviar un email en formtao HTML con phpmailer, el email no llega con el formato de la tabla que agrego en el body del mensaje.

Intente probando con la propiedad width='550' para la etiqueta <table> pero no considera ese ancho para el texto: si el email llega a traves de outlook, el texto del mensaje ocupa toda la pantalla, lo mismo sucede para cuando llega por hotmail o gmail. No me llega un formato del tamaño que quiero, ej, en una columna de 400 o 500 px. Si mi monitor tiene 17 '', el texto del email ocupa toda la pantalla.

Por otro lado, la imegen se ve pero SOLO si uno tiene que indicar q se desbloqueen las imagenes o marcar el email como "seguro".
Yo recibo newsletters de periodicos, por ejemplo tambien en hotmail, y al abrir el correo veo las imagenes ya desplegadas, no tengo que pulsar para que se desbloqueen .. Q estoy haciendo yo mal..?
Como pudeo hacer para que las imagenes ya vengan incluidas al abrir el correo?
Les dejo el codigo para alguna ayudita.. gracias.

$mail->CharSet="iso-8859-1";
.........
$mail->IsHTML(true);
$mail->Subject = $_POST['nbredestino'].","."desde www-dominio-com se le envía un mensaje.";

$body ="<div id='espacio'>
<table border='0' cellspacing='0'>
<tr>
<td colspan='2'>&nbsp;</td>
</tr>
<tr>
<td colspan='2'>&nbsp;</td>
</tr>
<tr>
<td colspan='2'>".$_POST['nbredestino'].", "."</td>
</tr>
<tr>
<td colspan='2'>"desde www-dominio-com se le envía un mensaje. Esperamos sea de su utilidad.</td>
</tr></table>
<br/><br/>"."<table border='0' align='left' cellspacing='0'>
<tr>
<td class='tipotexto' width='15'>&nbsp;</td>
<td class='tipotexto' width='49'><div align='center'><img src='http-www-dominio-com/directorio-de-la-imagen/".$row_rRecordset['nbreimagen']."' border='1'/></div></td>
<td width='17'>&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
</tr>
</table>"."<p class='tipotexto'><b>".$row_rRecordset['texto']."</b><br />".nl2br($row_rRecordset['texto'])."</p><br/></div>"; ---> // fin del body.
........
$mail->Body = $body;
........

Gracias..
  #2 (permalink)  
Antiguo 14/03/2009, 10:59
 
Fecha de Ingreso: febrero-2009
Ubicación: Cusco - Peru
Mensajes: 142
Antigüedad: 11 años
Puntos: 0
Respuesta: Hay que desbloquear imagenes y mail no llega en formato HTML

me paso lo mismo al enviar mail con el mismo php, lo solucione con CSS, parece ser q muchas veces respeta mas al CSS q al propio html.

es decir en ves de <table width="500" >

le das un <table style="width:500px" >

Pruebalo y cuentas como te fue.
  #3 (permalink)  
Antiguo 14/03/2009, 11:12
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 11 años, 9 meses
Puntos: 43
Respuesta: Hay que desbloquear imagenes y mail no llega en formato HTML

Lo de las imagenes, depende del cliente de correo que se use y su configuración, creo que no hay mucho que hacer en ese aspecto.
Lo de el formato html, trata de hacerlo como dice el amigo con css.
Y colocale su header, por ejemplo:
Código php:
Ver original
  1. $header = "MIME-Version: 1.0\n";
  2.             $header .= "Content-Type: text/html; charset=utf-8\n";
  3.             $header .= "From: ".$nombre_remite."<$direccion_remite>\nReply-To: $direccion_remite\nX-Mailer: PHP/";

Ya luego el cuerpo lo empiezas de esta forma mas o menos:
Código php:
Ver original
  1. $mensaje='<body style="font-family:Verdana, Arial, Helvetica, sans-serif;color:#333;font-size:12px">....";

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #4 (permalink)  
Antiguo 18/03/2009, 17:17
 
Fecha de Ingreso: noviembre-2008
Mensajes: 122
Antigüedad: 11 años, 3 meses
Puntos: 4
Sonrisa Respuesta: Hay que desbloquear imagenes y mail no llega en formato HTML

Si.. algo estuve probando con usar CSS y ha cambiado bastante, mucho mejor.. asique gracias por el dato
Es una pena que no pueda arreglar lo de las imagenes, porque no puedo colocar las publicidades en mis emails, es decir al enviar por ej un boletin con publicidad..me pagarian por una publicidad que solo se ve si el lector desbloquea las imagenes..que le llegan con el correo. Y ESO NO ESTA BIEN..
a mi me llega un boletin con imagenes q no tengo yo q desbloquearlas..
ME ESTOY PERDIENDO DE INGRESOS..$$$ POR NO PODER MOSTRAR LAS IMAGENES DIRECTAMENTE... alguna forma debe haber.. seguire probando.. tal vez con <embebed>..?

Gracias por todos los datos..tenian razon. Un saludo
  #5 (permalink)  
Antiguo 21/03/2009, 14:18
 
Fecha de Ingreso: noviembre-2008
Mensajes: 122
Antigüedad: 11 años, 3 meses
Puntos: 4
Pregunta Respuesta: Hay que desbloquear imagenes y mail no llega en formato HTML

Hola a todos..
the-web-saint, te comento que he probado de agregar el encabezado y verdaderamente no veo ningun cambio en los emails que recibo desde mi pagina.
No entiendo para que es neceseario agregarlo. Aqui te dejo mi codigo, veras que lo agregue.. si puedes explicarme para que sirve te lo agradezco porque ya te digo q no veo ningun cambio en los mensajes.

<?php
require("class.phpmailer.php");
//para el envío en formato HTML
$header = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\n";
//
$mail = new phpmailer();
$mail->IsSMTP();
$mail->Mailer = "smtp";
$mail->Host = "nombre-de-mi-host";
$mail->Username = "mi-dominio-arroba-mi-host-com";
$mail->Password = "mi-clave";
$mail->SMTPAuth = true;
$mail->CharSet="iso-8859-1";
$mail->From = "mi-dominio-arroba-mi-host-com";
$mail->FromName = "nombre de quien envia";
$mail->Timeout=60;
$mail->AddAddress($maildestino);
$mail->IsHTML(true);
$mail->Subject = "Mensaje desde la página";
$body ="................";
$mail->Body = $body;
$mail->AltBody = "..............";
$mail->Send();
?>

Respecto a lo que me has dicho deagregar:
$header .= "From: ".$nombre_remite."<$direccion_remite>\nReply-To: $direccion_remite\nX-Mailer: PHP/";


lo probe pero nada cambia me mail, asique finalmente no lo agregue PORQUE EL FROM YA ESTA INCLUIDO EN LA VARIABLE $mail, y supongo debe ser lo mismo.

Si puedes, alcarame la diferencia, estoy usando phpmailer, a lo mejor $headers se usa solo para la funcion mail($destino, $asunto, $mensaje, $headers) .
saludos.
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:47.