Ver Mensaje Individual
  #9 (permalink)  
Antiguo 07/10/2008, 22:02
evil1176
 
Fecha de Ingreso: enero-2007
Mensajes: 21
Antigüedad: 19 años, 9 meses
Puntos: 1
Respuesta: Modificar codigo para lista de correo simple

Amigo yrduk gracias por tu ayuda, al probar el codigo que me facilitaste encontre que tenia un pequeño problema, enviaba 2 veces el email a los primeros "n" correos con n=$registros, me explico, si definimos $registros = 10; como en el ejemplo entonces el mensaje les llega 2 veces a los primeros 10 clientes, realice unas pruebas y con algunos cambios ahora funciona al 100%.
Les dejo el codigo funcionando si es que le sirve a alguien.
Código PHP:
<?php 
//Conexion a la base de datos 
include("config.php"); 

require(
"class.phpmailer.php"); 
$mail = new PHPMailer(); 
$mail->Host = "smtp.1and1.com"; 
$mail->From = "[email protected]"; 
$mail->FromName = "Lista de Correo"; 
$mail->Subject = "Nuevo Servicio..."; 

$registros = 10; 
$pagina = $_GET[pagina]; 

if (!
$_GET[pagina]) { 
   
$inicio = 0; 
   
$pagina = 1; 
} 
else { 
   
$inicio = ($pagina - 1) * $registros; 
} 

$result_ = mysql_query("SELECT nombres, email FROM clientes");  
$total_registros = mysql_num_rows($result_); 
$total_paginas = ceil($total_registros / $registros); 


$result = mysql_query("SELECT nombres, email FROM clientes LIMIT $inicio, $registros");  
while (
$row = mysql_fetch_array($result)) { 
    
// HTML body  
    
$body = "Hola <strong>".$row["nombres"]."</strong>, ";  
    
$body.= "<p>Les comunicamos el nuevo servicio... <p>";  
    
$body.= "<em>List manager</em>";  
    
// Text body 
    
$text = "Hola ".$row["nombres"].", \n\n";  
    
$text.= "Les comunicamos el nuevo servicio...\n\n";  
    
$text.= "List manager"; 
    
// Configurar Email 
    
$mail->Body = $body;  
    
$mail->AltBody = $text;  
    
$mail->AddAddress($row["email"], $row["nombres"]); 
    
// Enviar el email 
    
if(!$mail->Send()) { 
        echo 
"Error al enviar a: " . $row["email"] . "<br>";  
     } 
    
$mail->ClearAddresses();   
} 
?> 
<?php 
if($total_paginas >= $pagina) { 
?> 
<script type="text/javascript">location.href('lista.php?pagina=<?php echo $pagina+1; ?>');</script> 
<?php 
} 
else 
{ 
echo 
"<h1>Boletín enviado!</h1>"; 
} 
?>