Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema en envio de HTML con PHPMailer

Estas en el tema de Problema en envio de HTML con PHPMailer en el foro de PHP en Foros del Web. Tengo el siguiente código que hace envío de un boletín...Llega con todo OK el contenido (imágenes y texto) a Gmail visualizado desde Chrome, pero si ...
  #1 (permalink)  
Antiguo 18/02/2013, 15:19
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 19 años
Puntos: 1
Problema en envio de HTML con PHPMailer

Tengo el siguiente código que hace envío de un boletín...Llega con todo OK el contenido (imágenes y texto) a Gmail visualizado desde Chrome, pero si lo visualizo en Firefox, sólo desplega las imágenes y no el contenido.

¿Qué error puede estar provocando ésta aleatoriedad?

Acá esta las rutinas del phpmailer
Código PHP:
$mail = new PHPMailer();
    
$mail->Host "mail.site.xx";
    
$mail->From "[email protected]";
    
$mail->FromName "Mensaje Site";
    
$mail->Subject "Boletín Mensual";
    
$mail->IsHTML(true); 
        
$mail->Timeout=30
A continuación de código del phpmailer, el código que rescata la información del boletín de la BD.

Código PHP:
$obj_publicar = new consultas;
$correos=$obj_publicar->listado_correos();
while(
$ls_correos=mysql_fetch_array($correos)){
        {
$mail->Body "<table align='center'>
<tr>
<td>
<div style='float: left; margin-left: 21px; margin-top: 15px; width: 680px;'><div style=width:700px;><img src=http://www.site.xxl/xxx/xxx/cab_boletin.png width=700 height=45 /></div><br /><div  background-image:url(http://www.site.xx/xxx/xxx/fondo_rec_gris.jpg);'>"
;
            
$Datos_Listados=mysql_fetch_array($datos);
            while(
$Imange_Listados=mysql_fetch_array($imagenes)){
                
$ruta[] = substr($Imange_Listados['rutaIma'],3,strlen($Imange_Listados['rutaIma']));
                
$img[] = $Imange_Listados['nombreIma'];
            }
            
$cuerpo_total =$Datos_Listados['cuerpo'];
            
$mail->Body .="<div style='width: 680px;'>"ucfirst($Datos_Listados['TituloNEA'])."</div>
            <div style='float: left; margin-bottom: 5px; margin-right: 15px;'>"
;
            if (
$ruta[0]!=''){
            
$mail->Body .="<img src='http://www.site.xx/xxx/$ruta[0]' width='200' height='200'/>";
            } else {
            
$mail->Body .="<img src='http://www.site.xx/xxx/xxx/logoBoletin.png' width='200' height='200'/>";
            }  
            
$mail->Body .="<p><strong>Categoria:"ucfirst(nl2br($Datos_Listados['categoria']))."</strong></p><p>"ucfirst(nl2br($Datos_Listados['epigrafe']))."<br /><i>"ucfirst(nl2br($Datos_Listados['bajada']))."</i></p></div><p>"ucfirst(nl2br($cuerpo_total))."<p class='bajadaini'>";
            if (
$Datos_Listados['linkVideo']!=""
            
$mail->Body .= "<p><a href=".$Datos_Listados['linkVideo']." target='_blank' style='color:#ffffff; font-family:Arial, Helvetica, sans-serif; font-size:16px;'><strong>Visualizar Video</strong></a>
            </p>
            </p>
            </div>"

Envío del boletín
Código PHP:
$mail->AltBody "Boletín";
if(!
$mail->Send()) {
                echo 
"Error al enviar el boletín".$mail->ErrorInfo;
                exit;
            }
            
$mail->ClearAddresses();
            } 
  #2 (permalink)  
Antiguo 19/02/2013, 02:29
 
Fecha de Ingreso: abril-2012
Mensajes: 590
Antigüedad: 12 años
Puntos: 58
Respuesta: Problema en envio de HTML con PHPMailer

Probablemente tenga algo que ver con AltBody:
AltBody Establece el cuerpo del mensaje como sólo de texto ""

Yo pensé que se incluía en plan si no acepta HTML se envía con lo de AltBody pero no estoy segura de su funcionamiento.
  #3 (permalink)  
Antiguo 19/02/2013, 08:29
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 19 años
Puntos: 1
Respuesta: Problema en envio de HTML con PHPMailer

Si, no creo que vaya por esa línea el problema...anoche hice pruebas y encontré el siguiente comportamiento.

1.- Si visualizo el boletín con mi cuenta Gmail, se ve bien, pero si la visualizo con otra cuenta de gmail (uso una cuenta de correo que vinculé con gmail, pero es de otro servidor externo) llegan sólo las imágenes...ahí puede haber algo con el servidor externo...eso esa una línea de descarte.

2.- Envíe el correo a una cuenta de gmail de mi hermano, pero también ocurrió que sólo le llegaron las imágenes, es raro.

3.- Ahora estoy probando un método más sencillo...pero lo ideal sería usar phpmailer
  #4 (permalink)  
Antiguo 19/02/2013, 09:57
 
Fecha de Ingreso: abril-2005
Mensajes: 491
Antigüedad: 19 años
Puntos: 1
Respuesta: Problema en envio de HTML con PHPMailer

Finalmente, el PHPMailer estaba OK, el error era de una variable fuera de un while que hacia se perdieran datos del boletín...PLOP

Etiquetas: html, phpmailer, sql
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 17:53.