Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/10/2004, 11:23
dubafluye
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 0
Clase PHPMailer y envio de boletin en html

Hola, después volverme loca buscado una solución y rastrear los foros y no encontrar nada para solucionar mi problema os lo cuelgo para ver si me podéis echar una mano.

Tengo un boletín en formato html para enviar a gente que extraigo de mi base datos.

El boletín tiene un codigo como el siguiente (lo corto porque es muy largo) que se visualiza perfectamente en explorer, netscape y al enviarlo como texto adjunto desde el outlook.

Código HTML:
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://www.metropolislibros.com/css/boletin.css"> 
<base target="_blank">
</head>
<body topmargin=0 leftmargin=0 marginheight=0 marginwidth=0>
<div align="center">
<table width="790" height="110" cellspacing="0" cellpadding="0" border="0" background="http://www.metropolislibros.com/images/logogranate.gif">
<tr><td width="110"></td><td align=middle><font face="verdana,arial,helvetica" size="4" color="white" valing="center">Novedades de la Primera quincena de Octubre</td>
</tr>
<tr><td colspan="2" align=right><font face="verdana,arial,helvetica" size="1" color="white">Viernes 29 de Octubre de 2004</font></td>
</tr>
</table>

<table width="780" cellspacing="0" cellpadding="2" border="0">
<tr>
    <td width="95%" valign="top">


<table aling="center">
<tr><td colspan="5"><font face="verdana,arial,helvetica" size="2"></font></td></tr>
<tr><td colspan="5"><font face="verdana,arial,helvetica" size="2">Vamso a ver cómo sale</font></td></tr>
<tr><td colspan="5" align="middle" bgColor="#0B5B9F"><font face="verdana,arial,helvetica" size="2" color="ffffff">LIBROS</font></td></tr><tr><td rowspan="4"><center><img src="http://www.metropolislibros.com/portadas/9920000000262.jpg" alt="NOSFERATU 46 -MARC RECHA AL DESNUDO-" height="120"></center></td><td colspan="4" align="middle" bgColor="#A4A684" ><font face="verdana,arial,helvetica" color="#ffffff" size="2"><span class=v>NOSFERATU 46 -MARC RECHA AL DESNUDO-</span></font></td></tr><tr><td colspan="2"><font face="verdana,arial,helvetica" size="1">JUNIO 2004</td><td><font face="verdana,arial,helvetica" size="1">66 Pag.</td><td><font face="verdana,arial,helvetica" size="1">4.5 € </td></tr><tr><td colspan="4"><font face="verdana,arial,helvetica" size="1">Nuevo número de la prestigiosa revista NOSFERATU dedicada en esta ocasión a Marc Recha, en la cual varios expertos analizan su obra. Contiene una entrevista con el director y su filmografía incluyendo sus primeros cortometrajes.</td></tr><tr><td colspan="2"><font face="verdana,arial,helvetica" size="1"><a href=http://www.metropolislibros.com/index2.php?case=f&id=9920000000262>Mas información</a></td><td colspan="2"><font face="verdana,arial,helvetica" size="1"><a class=boton href=http://www.metropolislibros.com/compras/compra.php?&codigo=9920000000262><font face="verdana,arial,helvetica" size="1">Compra</a></font></td></tr><tr><td colspan="4"></td></tr><tr><td colspan="5"><p class="z">DVD</p></td></tr><tr><td rowspan="4"><center><img src="http://www.metropolislibros.com/portadas/8420266999832.jpg" alt="HACE UN MILLON DE AÑOS-DVD-" height="120"></center></td><td colspan="4"><p class=v>HACE UN MILLON DE AÑOS-DVD-</p></td></tr><tr><td colspan="2">CHAFFEY, DON</td><td></td><td>18 € </td></tr><tr><td colspan="4">Edición restaurada de este clásico de la ciencia-ficción que contiene, además de la propia película, una comparación de la restauración, el trailer original de cine y subtitulos en múltiples idiomas.</td></tr><tr><td colspan="2"><a href=http://www.metropolislibros.com/index2.php?case=f&id=8420266999832>Mas información</a></td><td colspan="2"><a class=boton href=http://www.metropolislibros.com/compras/compra.php?&codigo=8420266999832>Compra</a></td></tr></table></td>
    <td width="3" valign="top">
	</td>
    <td width="5%" valign="top">
	
	<table width="140" cellspacing="1" cellpadding="2" border="0" bgcolor="FDF5CE">
	<tr>
	    <td align="center" bgcolor="CC6600"><font face="Verdana,Arial" size="4" color="white">OFERTAS</font></td>
	</tr>

<tr><td><font face="Verdana,Arial" size="2" color="#CC6600"><span class="g">OFERTA AJEDREZ STAR WARS EPISODIO II</span></font></td></tr><tr><td><font face="Verdana,Arial" size="1">Rebajamos el stock de este maravilloso ajedrez que reproduce...<a href=http://www.metropolislibros.com/index2.php?case=o> Más</a></font></td></tr><tr><td><font face="Verdana,Arial" size="2" color="#CC6600"><span class="g">VIDEO A MITAD DE PRECIO</span></font></td></tr><tr><td><font face="Verdana,Arial" size="1">Todo el stock de vídeo que tenemos en la librería lo hemos rebajado...<a href=http://www.metropolislibros.com/index2.php?case=o> Más</a></font></td></tr><tr><td><font face="Verdana,Arial" size="2" color="#CC6600"><span class="g">COMPRA 5 NOSFERATUS Y PAGA SOLO 2</span></font></td></tr><tr><td><font face="Verdana,Arial" size="1">Por la compra de tres números de la revista Nosferatu te regalamos...<a href=http://www.metropolislibros.com/index2.php?case=o> Más</a></font></td></tr></table><br>
</td>
</tr>
</table>
</div>
</body>
</html> 
Este boletin lo envio mediate la clase PHPMailer y el cuerpo del mensaje lo introduzco mediante un formulario que llama a enviar.php
Formulario.htm
Código HTML:
<p>Para mandar un mensaje.</p>
<form method="post" action="enviar.php">
Asunto:<input type="text" name="asunto" class="cajon"><br>
Mensaje:<br><textarea name="mensaje" cols="30" rows="5" class="cajon"></textarea><br>
Contraseña:
<input type="password" name="contrasena_enviar" class="cajon"><br>
<input type="submit" name="enviar_enviar" value="Enviar" class="boton"></form> 
Y por ultimo el fichero enviar.php
Código PHP:
<?include("config.php");
  require 
"class.phpmailer.php";
  
$contrasena_enviar=$_POST[contrasena_enviar];
  
$mensaje=$_POST["mensaje"];
  
$asunto=$_POST["asunto"];

      
$mail = new phpmailer();
      
$mail->PluginDir "";                          
      
$mail->Mailer "smtp";
      
$mail->Host "localhost"
      
$mail->SMTPAuth false;
      
$mail->From "[email protected]";
      
$mail->FromName "Yo";      
      
$mail->Subject $asunto;
      
$mail->Body $mensaje;

      
//Definimos AltBody por si el destinatario del correo no admite 
      //email con formato html
      
$mail->AltBody ="Mensaje de prueba mandado con phpmailer en formato texto"
      
    
$mail->Timeout=10;

    if(
$contrasena_enviar==$dbpass)
        {
        
$resp2 mysql_query("select * from lista");
        while(
$datos2 mysql_fetch_array($resp2))
        {
            
            
$mail_listado=$datos2[mail];
            echo 
$mail_listado;
            
$mail->AddAddress($mail_listado);
            
$exito $mail->Send();
            
$intentos=1
               while((!
$exito)&&($intentos<5)&&($mail->ErrorInfo!="SMTP Error: Data not accepted")){
               
sleep(5);
                    
//echo $mail->ErrorInfo;
                    
$exito $mail->Send();
                   
$intentos=$intentos+1;                
           }

    
        if(!
$exito)
                {
               echo 
"Problemas enviando correo electrónico a ".$valor;
               echo 
"<br/>".$mail->ErrorInfo;    
                }
        else
            {
           
//Mostramos un mensaje indicando las direccion de 
           //destino 
           
$mensaje="<p>Has enviado un mensaje a:<br/>";
           
$mensaje.=$valor." ";
           echo 
$mensaje;

            }
    
// Borro las direcciones de destino establecidas anteriormente
        
$mail->ClearAddresses();
                       
        }
        }
        else {
        echo 
"La contraseña no es válida";
        } 
?>
Lo que ocurre es que recibo el e-mail sin respetar las tablas ni ninguno de los estilos, los colores cambiados y hecho un desastre, vamos que no se parece nada a lo que yo quiero enviar. no tengo ni idea de donde está el error después de hacer multitud de cambios. A ver si me podéis echar una mano. Gracias.